Thema: Delphi DLL mit Form

Einzelnen Beitrag anzeigen

Capa

Registriert seit: 26. Okt 2003
102 Beiträge
 
RAD-Studio 2010 Arc
 
#1

DLL mit Form

  Alt 27. Feb 2011, 15:16
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.dllname '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

Geändert von Capa (27. Feb 2011 um 16:39 Uhr)
  Mit Zitat antworten Zitat