Forms in DLL
From: Mikael Lenfors (mikael_at_lenfors.se)
Date: 10/29/03
- Next message: coolbaby: "Re: $1ED is what message?"
- Previous message: Rob Kennedy: "Re: $1ED is what message?"
- Next in thread: Henrik Nedergaard: "Re: Forms in DLL"
- Reply: Henrik Nedergaard: "Re: Forms in DLL"
- Reply: Peter Below (TeamB): "Re: Forms in DLL"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Wed, 29 Oct 2003 17:17:14 +0100
Hello!
I use a Form in my DLL, but when I do a FreeLibrary after use I get Access
violation. Do I have to do someting with the form to unload it? Is there a
problem when I send the database components (TADOConnection and TADOQuery)
to the DLL as parameters? I tried to remove these but got the same error.
Regards, Mikael
Se code below:
procedure TMainForm.Button1Click(Sender: TObject);
Var DllHandle: THandle;
fLogin: Function(Database: TADOConnection; ADOQuery: TADOQuery; Var
SystemLevel, LoggedInStore: Integer; Var CurrentUser, UserAccessList:
ShortString): Boolean;
Begin
DllHandle := LoadLibrary('LoginDLL.dll');
If DllHandle <> 0 Then
Begin
@fLogin := GetProcAddress(DllHandle, 'Login');
If @fLogin <> Nil Then
Begin
If fLogin(FormDB.Database, FormDB.ADOQuery, SystemLevel,
LoggedInStore, CurrentUser, UserAccessList) Then
Begin
<Code>
End; // Login ok
End; // Function loaded
FreeLibrary(DllHandle); // Crashes here!!!!!!!!!!!!!!
End // DLL loaded
End; // Systemlevel = 0
End;
Code for LoginDLL below:
library LoginDLL;
uses ADODB, SysUtils, Classes,
LoginUnit in 'LoginUnit.pas' {LoginForm}; // Standard form with
some dialogs and a database query.
Function Login(Database: TADOConnection; ADOQuery: TADOQuery; Var
SystemLevel, LoggedInStore: Integer; Var CurrentUser, UserAccessList:
ShortString): Boolean;
Var LoginForm: TLoginForm;
Begin
LoginForm := TLoginForm.Create(nil);
Result := LoginForm.Login(Database, ADOQuery, SystemLevel, LoggedInStore,
CurrentUser, UserAccessList);
LoginForm.Free;
End;
Exports Login Name 'Login';
End.
- Next message: coolbaby: "Re: $1ED is what message?"
- Previous message: Rob Kennedy: "Re: $1ED is what message?"
- Next in thread: Henrik Nedergaard: "Re: Forms in DLL"
- Reply: Henrik Nedergaard: "Re: Forms in DLL"
- Reply: Peter Below (TeamB): "Re: Forms in DLL"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]