Charles,
attached is a zip file with the 3 modified files.
I've modified them to the instructions above.
bye
efgee
One possible reason for the problem is the client picking up the wrong dll. (if it has the same name). I've been caught by this a few times when testing programs in different locations.
The client picks up the old version and does not see your new classes.
Charles
Charles,
attached is a zip file with the 3 modified files.
I've modified them to the instructions above.
bye
efgee
Thanks efgee,
this is odd behaviour. The library side appears to be ok - the setup functions for each class show up in a PE viewer as expected. Yet the client cannot access the third function whichever one that happens to be...
Charles
The solution!
Organise the group of classes so that their names are in ascending ascii order. The DLL linker expects the symbol names to ascend and will not locate those which are out of order.
I will resolve this by sorting the entries before building the DLL but meanwhile here is the ascending order of classes
Bear in mind that CAPs come first followed by underscore followed by lowercase.
Charles
[code=thinbasic]
' ============================================================================
'
' oAPP - is the application class
' -
' - Run - message loop, returns error code if occured...
' - Quit - kills main window, initiates message loop to end
' - CommandLine - returns the command line (at start of program)
' - InfoBox - info message box
' - ErrorBox - error message box
' - QuestionBox - question message box
' - WarningBox - warning message box
'
' ============================================================================
class oAPP alias "oAPP"
method ctor()
method dtor()
method Instance() as long
method Run()
method Quit()
method CommandLine() as string
method InfoBox(_Text as string)
method ErrorBox(_Text as string)
method QuestionBox(_Text as string)
method WarningBox(_Text as string)
private
_Instance as LONG
_Return as LONG
_Message as MSG
_Command as string
_LastWindow as LONG
_LastChild as long
_ExitCode as long
/
end class
class oA_FORM alias "oA_FORM"
method ctor()
method dtor()
method show()
protected
_Instance as LONG
_MainWindow as LONG
_LastWindow as LONG
_LastChild as LONG
/
hwnd as long
wc as WndClass
end class
class oFORM alias "oFORM"
method ctor()
method dtor()
method show()
protected
_Instance as LONG
_MainWindow as LONG
_LastWindow as LONG
_LastChild as LONG
/
hwnd as long
wc as WndClass
end class
[/code]
Bookmarks