Hi
will ein paar meiner sachen in dlls auslagern damit die hauptexe nicht so groß wird.
nun hab ich folgendes Problem wie kann ich die
dll so einbinden wie ich es normal in meinem
hauptproject auch mache das sie nur einmal mit Show anzeigbar ist und mit Hide wieder unsichtbar wird.
im momment ist es so das sich die form mehrmal öffnen lässt :/
Exe-File
Delphi-Quellcode:
procedure ShowForm(appHandle: THandle); stdcall; external 'Project1.dll' name 'ShowForm';
...
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowForm(Application.Handle);
end;
DLL-File
Delphi-Quellcode:
procedure ShowForm(appHandle: THandle);
stdcall;
begin
if appHandle = 0
then apphandle := GetActiveWindow;
Application.Handle := appHandle;
try
if Form2=nil
then // Diese Zeile hat gefehlt
Form2 := TForm2.Create(Application);
Form2.Show;
except
On E:
Exception Do Application.HandleException(E);
end;
Application.Handle := 0;
end;
Exports ShowForm;
Ich kann quasi die Form aufrufen und dann in dem moment nur dieser eben aufgerufenen Form etwas zuschicken.
ich will aber die Form nur einmal aufrufen und auch dann nur dieser Form was zuschicken.
Hab schon mehrere Seiten durchforstet aber find nur solche sachen oder showmodal sachen aber man soll ja immernoch die Hauptform nutzen können wenn die DLLForm angezeigt wird.
Vielleicht könnt ihr mir ja weiter helfen.
Mfg Capa
Edit: Habs gefunden war nur ne kleine Zeile die gefehlt hat.
if form2=nil then