![]() |
Formulare in DLL's
Hallo zusammmen.
Das erstellen einer DLL ist ja nicht unbedingt ein Problem. Auch die Verwendung vom Formularen in DLL's. Leider ist scheinbar ein in der DLL erzeugtes Formular ein eigener Task :?: . Denn es erscheint immer in der Taskleiste von Windows. Auch alle weiteren in dem Formular erzeugten Forms werden bei mir immmer zusätzlich in der Taskleiste sichtbar, sogar das ActionMenu - das zudem noch nicht einmal richtig funktioniert. Ich erstelle in der der DLL eine Form so
Delphi-Quellcode:
da mir ja die Parentkomponente fehlt und ich sie ja schlecht als Parameter an die DLL weitergeben kann ohne diese "Borlandspeicherdll" benutzen zu müssen, oder liege ich da falsch? :gruebel:
form1 := Tform1.Create(nil);
Weiß jemand Rat? :wall: Grüsse Björn |
Re: Formulare in DLL's
mit
Delphi-Quellcode:
bekommt man es hinn dass nicht nur das mainform in der Taskleiste sichbar ist. Vielleicht bekommst du ja mit bissl rumprobieren das gegenteil hinn....
procedure TForm2.FormShow(Sender: TObject);
begin SetWindowLong(Handle, GWL_ExStyle, WS_Ex_AppWindow); end; |
Re: Formulare in DLL's
Das kannst Du einfach lösen indem du das Application.Handle der DLL auf den gleichen Wert wie das Application.Handle der aufrufenden Exe setzt:
Code:
procedur DllForm(AppHandle: HWND);
var dlg: TMyDlg; begin Application.Handle := AppHandle; dlg := TMyDlg.Create(nil); dlg.ShowModal; dlg.Free; end; Aufruf mit DllForm(Application.Handle); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz