AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Parent einer DllForm setzen ????
Thema durchsuchen
Ansicht
Themen-Optionen

Parent einer DllForm setzen ????

Ein Thema von Bernd29bln · begonnen am 4. Nov 2007 · letzter Beitrag vom 4. Nov 2007
Antwort Antwort
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#1

Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 09:47
Hallo

Ich Lade mir in mein Hauptprogramm eine DLLForm. Ich möchte nun den Parent der DLLForm auf die Form des Hauptprograms setzen.

Delphi-Quellcode:
    procedure InitDLL(hAppHandle:Cardinal); stdcall; //<-- ich dachte hier an (Parent: Pointer)
    function ShowForm:Boolean; stdcall;
    function HideForm:Boolean; stdcall;

implementation


{$R *.dfm}

procedure InitDLL(hAppHandle:Cardinal); stdcall;
begin
   Application.Handle:=hAppHandle; // <-- aber wie Parent hier setzen????
end;
MfG Bernd
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#2

Re: Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 10:41
Der Parent deiner DLL-Form muss auf deine Hauptform (oder einer Komponente wie zB Panel) gesetzt werden.

[edit]
Also wenn ich das 3x lese, beantwortest du dir deine Frage doch selber ...
Was ist denn dein Problem?
[/edit]
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#3

Re: Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 10:47
Naja das ist ja meine frage wie ?
hab ich auch schon versucht da aber die dllform erst beim button klick geladen wird kann der compiler damitnix anfangen

MfG
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#4

Re: Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 10:53
Naja, ich kann nur raten, wie deine DLL aufgebaut ist.

Das Parent-Handle einer Form kannst du zu jeder Zeit setzen, auch in der "InitDLL-" oder "ShowForm"-Routine, wenn du die erweiterst und da das Handle deiner Hauptform mitgibst.
Dann setzt du in deiner DLL halt MyForm.Parent := MainFormHandle. Schau dir auch mal die API SetParent ([msdn]http://msdn2.microsoft.com/en-us/library/ms633541.aspx[/msdn]) an.
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#5

Re: Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 12:51
Hallo@all,

Schon klar, aber wie übermittel ich der dll das ich die hauptform mit parent meine ?
ich stecke da noch nicht so drin

MfG
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#6

Re: Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 13:04
habs schon danke
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#7

Re: Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 13:30
Hallo,

geht doch net so.

habs in der dll so geändert:
Delphi-Quellcode:
procedure InitDLL(Parent: Pointer); stdcall;
begin
 DLLForm.Parent := Application.MainForm;
end;
und im Programm so:
Delphi-Quellcode:
procedure TMainForm.SpeedButton1Click(Sender: TObject);
begin
   InitDll(DLLForm.Parent);
   ShowForm;
end;
Was hab ich falsch gemacht?

MfG
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Nuclear-Ping
(Gast)

n/a Beiträge
 
#8

Re: Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 14:35
In der DLL:
Delphi-Quellcode:
procedure InitDLL(Parent: Integer);
begin
  DLLForm.Parent := Parent;
end;
Im Programm:
Delphi-Quellcode:
procedure TMainForm.SpeedButton1Click(Sender: TObject);
begin
   InitDll(DLLForm.Handle);
   ShowForm;
end;
  Mit Zitat antworten Zitat
Bernd29bln

Registriert seit: 28. Feb 2005
Ort: Berlin
281 Beiträge
 
Delphi 7 Professional
 
#9

Re: Parent einer DllForm setzen ????

  Alt 4. Nov 2007, 18:01
Vielen Dank
Bernd
Es ist keine Schande, nichts zu wissen, wohl aber, nichts lernen zu wollen.
Sokrates
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:48 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz