Heren,
Bedankt voor de reacties voor zover. Ik ben wat dat betreft nieuw met het maken van Dynamische DLL's. Het is me wel al gelukt om een component over te laten erven van de applicatie naar de DLL en deze te besturen vu de DLL.
Ik heb hiervoor een Class aangemaakt, die ik gebruik in de Mainapp als in de DLL:
Code:
type TTestData = Class
ID :Integer;
Naam :Ansistring;
Caption :TCaption;
Bool :Boolean;
Panel :Tpanel;
end;
En die heb ik als volgt aan de DLL meegegeven:
Code:
procedure TTestApp.Button1Click(Sender: TObject);
var
Adll: HModule;
Updata: procedure(var AData: TTestData);
D :TTestData;
begin
Adll := LoadLibrary('TestDLL.dll');
if Adll <> 0 then
begin
@Updata := GetProcAddress(Adll, 'UpData');
if Assigned(Updata) then
begin
D := TTestData.Create;
D.ID := 96;
D.Naam := Format ('test AnsiString %D',[D.ID]);
D.Caption := Panel1.Caption;
D.Bool := True;
D.Panel := Panel1;
UpData(D);
end
else
ShowMessage('Procedure Niet gevonden in het DLL??tje...');
FreeLibrary(Adll);
end
else
ShowMessage('Foutje, DLL bestaat niet....');
end;
Dat werkt, maar is dit een verstandige keuze??? Ik ga zo even verder prutsen ;-)
Bookmarks