AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Form zu einer "Gruppe" zuweisen?
Thema durchsuchen
Ansicht
Themen-Optionen

Form zu einer "Gruppe" zuweisen?

Ein Thema von VT-DA · begonnen am 29. Jul 2005 · letzter Beitrag vom 31. Jul 2005
Antwort Antwort
Seite 3 von 3     123   
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#21

Re: Form zu einer "Gruppe" zuweisen?

  Alt 31. Jul 2005, 09:39
Zitat:
Ich habe halt eine DLL und dort ist eine function.
Dazu zwei Fragen:

1. Hast du ShareMem im Hauptprogramm und in der DLL als aller erste Unit in der .dpr Datei eingefügt? (Wenn nicht kracht es irgendwann während das Programm läuft)

2. Du erstellt das zweite Formular in der DLL mit Hilfe dieser Funktion? Oder ist der DLL-Code nicht von dir und du willst ihn nur nutzen?

Wenn du die Macht über den DLL-Code hast, dann kannst du das Formular (sofern VCL) in die Hauptanwendung einfügen, indem du vor dem Erzeugen des Formulars das Application.Handle auf die der Hauptanwendung setzt.
Delphi-Quellcode:
function CreateDllForm(AppHandle: THandle): TForm;
begin
  Application.Handle := AppHandle;
  Result := TMyForm.Create(Application);
end;
Stammt das Formular nicht von dir, oder ist kein VCL Formular dann kannst du es an die Anwendung ankoppeln mit
SetWindowLong(w, GWL_HWNDPARENT, Application.Handle);
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#22

Re: Form zu einer "Gruppe" zuweisen?

  Alt 31. Jul 2005, 11:15
Hi,

Also. Es gibt kein Hauptprogramm und es gibt auch keine unit. Es gibt nur die DLL wo alle Fenster erstellt werden und dann nachher in der anderen Programmiersprache geladen werden.
Deswegen werden auch alle Fenster in der DLL erstellt.
Das heißt es müsste die erste Variante klappen.
Ich probiers also mal aus. danke.

Mfg
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#23

Re: Form zu einer "Gruppe" zuweisen?

  Alt 31. Jul 2005, 13:03
Hi,

hmm. Irgendwie klappt alles nicht.
Ich hab jetzt mal nen Beispiel gemacht.
Vllt bringt das ja was?

Delphi-Quellcode:
library Gruppe;

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

var Form1, Form2: TForm;

{$R *.res}

procedure CreateDllForm; stdcall;
begin
  Form1 := TForm.Create(Application);
  Application.Handle := Form1;
  Form2 := TForm.Create(Application);
end;

procedure CreateForm; stdcall;
begin
  Form1 := TForm.Create(Application);
  Form2 := TForm.Create(Application);
  SetWindowLong(Form1, GWL_HWNDPARENT, Application.Form2);
  Form1.Show;
  Form2.Show;
end;

exports
  CreateForm, CreateDLLForm;

begin
end.
Mfg
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#24

Re: Form zu einer "Gruppe" zuweisen?

  Alt 31. Jul 2005, 14:33
Du hast wohl nocht nicht den Unterschied zwischen Handle und Form herausgefunden. Wenn dann schon Form.Handle benutzen, auch wenn es dann trotzdem falsch ist.

In deinem Fall rate ich statt "Form1 := TForm.Create(Application)" zu "Application.CreateForm(TForm, Form1)" denn damit weiß die Anwendung, dass das erste Formular als Hauptfenster zu betrachten ist. Der SetWindowLong brauchst du dann nicht mehr.
  Mit Zitat antworten Zitat
Benutzerbild von VT-DA
VT-DA

Registriert seit: 20. Jul 2005
Ort: Heiden
59 Beiträge
 
#25

Re: Form zu einer "Gruppe" zuweisen?

  Alt 31. Jul 2005, 22:23
Hi,

Hui. Jetzt klappts. Recht herzlichen dank.

Mfg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 10:31 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