Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Form durch dll erzeugen (https://www.delphipraxis.net/108943-form-durch-dll-erzeugen.html)

Hybrid666 21. Feb 2008 16:15


Form durch dll erzeugen
 
Servus. Ich programmiere grade eine DLL für mIRC, nun ist meine frage, kann ich eine form mit der dll erzeugen, die dann für ca 5 sek angezeigt wird? wenn ja, wie, was muss ich beachten?

Das hier war mein ansatz:
Delphi-Quellcode:
type
  TForm1 = class(TForm)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

function formtest( mWnd: hWnd; aWnd: hWnd; Data: PChar; Parms: PChar; Show: Boolean; NoPause: Boolean ): Integer; export; stdcall;
var
  Form1 : TForm1;
begin
  Application.CreateForm(TForm1, Form1);
  Form1.Create(Form1);
  Form1.Width := 30;
  Form1.Height := 30;
  Form1.Left := 10;
  Form1.Top := 10;
  Form1.BorderStyle := bsnone;
  result := 1;
end;
aber an der stelle Form1.Width kommt: "Ressource TForm1 not found. Stopped" <-- meldunge vom debugger...

MfG

mkinzler 21. Feb 2008 16:40

Re: Form durch dll erzeugen
 
Wenn die ganze Fenstersteuerung innerhalb der Dll abgearbeitet wird, brauchst du nicht beachten.

sirius 21. Feb 2008 17:01

Re: Form durch dll erzeugen
 
Aber du erzeugst mehrmals das Formular:
Delphi-Quellcode:
Application.CreateForm(TForm1, Form1);
Form1.Create(Form1);
Vor allem meldest du es einmal bei sich selber an.

rollstuhlfahrer 21. Feb 2008 17:15

Re: Form durch dll erzeugen
 
ich würd das Formular gleich ganz anders erzeugen, nämlich:

Delphi-Quellcode:
Form1 := TForm1.Create(Application) // wobei ich grad mek, dass das nicht funktionieren kann.
// bei mir glaub ich doch mal, dass der Compiler wegen der Initialisierung meckert und das System Object := TObject.Create(); verlangt
was dir aber helfen sollte ist:

Delphi-Quellcode:
var Rec: TRect;
begin
  GetWindowRect(hWnd, Rec);
  SetBounds(0, 0, Rec.Right - Rec.Left, Rec.Bottom - Rec.Top);
end;
rollstuhlfahrer

Hybrid666 21. Feb 2008 18:19

Re: Form durch dll erzeugen
 
der verlangt nach hwnd eine (, also bei hwnd will er params ham...sry hab sowas noch nie gemnacht

Hybrid666 22. Feb 2008 15:40

Re: Form durch dll erzeugen
 
okay, das problem ist gelöst.-..nu hab ich ein 2.....warum kann ich in einer dll keinen TTimer erzeugen?

MfG


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:02 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-2025 by Thomas Breitkreuz