Ich habe ein leeres Formular mal spaßeshalber benutzt, selbes Phänomen.
DLL (Aufruf des Formulars)
Delphi-Quellcode:
Procedure TestDll_Start;
var Form1 : TForm1;
BEGIN
Form1 := TForm1.Create(NIL);
Form1.ShowModal;
END;
exports
TestDll_Start;
begin
end.
DLL (Beenden des Formulars)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Free;
end;
nach dem ich auf den Beenden Button geklickt habe, bekomm eich einen Adress-Fehler.
Schon probiert :
Delphi-Quellcode:
Procedure TestDll_Start;
var Form1 : TForm1;
BEGIN
Form1 := TForm1.Create(NIL);
Try
Form1.ShowModal;
Finally
Form1.Release;
END;
END;
exports
TestDll_Start;
begin
end.
.. aber das geht auch nicht.
Ich möchte das Formular gerne in eine
DLL auslagern, da ich dieses Formular :
a) in mehreren Programmen verwenden möchte
b) ein Update des Formulars schneller möglich ist (ohne das Programm neu zu schreiben)
Nur sobald ich das Formular beende, bekomme ich immer : Zugriffsverletzung bei Adresse 0036D875 in Modul 'TestDll.dll'. Lesen von Adresse 00000000".
Wie kann ich nun das Formular beenden ohne einen Fehler zu bekommen?
mfg
Tommy82