Autor Beitrag
Carla
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111
Erhaltene Danke: 2



BeitragVerfasst: Mi 03.03.10 17:04 
Hallo,

ich möchte Formulare in dll auslagern.
Die Fromulare sind im Projekt recht unabhängig und werden mit Showmodal angezeigt.
Z.B. die komplette Kundenverwaltung.
Das funktioniert wie gewünscht.
Ich möchte das Formular aber jetzt im Parent der Hauptanwendung anzeigen.
Ich habe das so gelöst:
in der dll: Windows.SetParent(Form2.Handle, ParentHandle);
Als Parenthandle wird das Handle der Mainform übergeben.
Das Fenster wird wie gewünscht angezeigt aber eingefroren. D.h. Tastatur und Maus
funktionieren nicht mehr.
Hat wer einen Tip, wie ich das hinbekomme?

Gruß
Carla


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am Mi 03.03.2010 um 16:38
bummi
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 1248
Erhaltene Danke: 187

XP - Server 2008R2
D2 - Delphi XE
BeitragVerfasst: Mi 03.03.10 17:54 
with TMyForm.Create(FormularDerHauptAnwendung).Showmodal

tut nicht wie gewünscht ??
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 03.03.10 18:06 
Wenn Du unbedingt mit der VCL über Modulgrenzen hinweg arbeiten möchtest, linke mindestens gegen die RTL.bpl und die VCL.bpl (mit Laufzeit-Packages), da du dir sonst selbst das Leben unnötig schwer machst. Solch vielsagende Fehlermeldungen wie TFont kann nicht zu TFont zugewiesen werden sind da nur die harmlosen Randerscheinungen bei Nutzung der VCL ohne Laufzeit-Packages.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
Carla Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 111
Erhaltene Danke: 2



BeitragVerfasst: Mi 03.03.10 18:27 
user profile iconBenBE hat folgendes geschrieben Zum zitierten Posting springen:
Wenn Du unbedingt mit der VCL über Modulgrenzen hinweg arbeiten möchtest, linke mindestens gegen die RTL.bpl und die VCL.bpl (mit Laufzeit-Packages), da du dir sonst selbst das Leben unnötig schwer machst. Solch vielsagende Fehlermeldungen wie TFont kann nicht zu TFont zugewiesen werden sind da nur die harmlosen Randerscheinungen bei Nutzung der VCL ohne Laufzeit-Packages.


Ich verwende die VCL nicht direkt über Modulgrenzen hinweg, sondern die dll soll eine eigenständige Anwendung sein. Zwischen Application und dll ist ein Interface.
Das aufrufende Programm muss nicht notwendiger weise ein Delphi-Programm sein. Deshalb werden auch nur Windowshandle übergeben.
Ich verwende um Platz zu sparen zwar Vcl,Rtl und noch zwei bpl als Laufzeit - bpl.
Ich halte allerdings das Delphi bpl Konzept und Laufzeit-bpl überhaupt für den größten Schwachsinn, den es in keiner anderen Programmiersprache gibt.

Ich habe die Lösung funktionierend bereits als Outofprocess-Comserver am Laufen.
Wollte aber um die Registrierung zu umschiffen, das Ganze auf dll umstellen.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mi 03.03.10 19:02 
Dann geht das mit dem Zugriff über SetWindowParent.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.