Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Nonvcl und VCL (https://www.delphipraxis.net/168913-nonvcl-und-vcl.html)

EWeiss 18. Jun 2012 11:35

Nonvcl und VCL
 
Jetzt mal anders herum.
Wie kann ich auf eine Form die in einer nonvcl Anwendung integriert ist zugreifen?
Diese lassen sich ja bekanntlich nicht mehr automatisch starten und nen Sender aus WinMain
kann ich auch nicht übergeben.

gruss

jaenicke 18. Jun 2012 11:43

AW: Nonvcl und VCL
 
Na, da hast du ja ein Handle bei non-VCL.

Oder wie meinst du die Frage? Vielleicht bisschen Code? ;-)

EWeiss 18. Jun 2012 11:50

AW: Nonvcl und VCL
 
Zitat:

Zitat von jaenicke (Beitrag 1171364)
Na, da hast du ja ein Handle bei non-VCL.

Oder wie meinst du die Frage? Vielleicht bisschen Code? ;-)

Danke für deine Antwort.
Das Handle ist in dem Fall nicht Hilfreich.

Die Form ist immer "NIL" da sie nicht automatisch initiiert wird.
Und Form1 := TForm1.Create(Sendner) kann ich in dem fall nicht ausführen da ich keinen Sender habe
bzw. eine Classe die auf TCustomForm oder TControl ec. aufgebaut ist.

Erklärung.
Ich möchte meine SkinEngine verwenden aber nur für die Hauptanwendung(Fenster)
alles andere möchte ich aber so belassen wie es ist.
Kann aber aus WinMain nicht auf die Formen(vcl) zugreifen.

gruss

hsg 18. Jun 2012 12:16

AW: Nonvcl und VCL
 
Du kannst aber die Form mit TForm1.Create(null) erzeugen. Mit diversen NonVCL-Funktionen kann man dann die Owner-Verhältnisse anpassen. (SetWindowLong war es glaube ich).

EWeiss 18. Jun 2012 12:23

AW: Nonvcl und VCL
 
Zitat:

Zitat von hsg (Beitrag 1171382)
Du kannst aber die Form mit TForm1.Create(null) erzeugen. Mit diversen NonVCL-Funktionen kann man dann die Owner-Verhältnisse anpassen. (SetWindowLong war es glaube ich).

null ist mir neu ;)
Hab es mit nil versucht das ging in's leere Form bleibt "nil"

Danke werde das mal testen.

EDIT:
Nee null ist ja aus variants und nil funktioniert nicht die Form bleibt NIL
Kann für ein TObject kein Variant übergeben.

Delphi-Quellcode:
FormLoading := TFormLoading.FormCreate(nil);

[DCC Fehler] uMain.pas(653): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt

opss ... bin ja auch sowas von Blöd :oops:
Manchmal verhält man sich wie ein Anfänger!

Delphi-Quellcode:
FormLoading := TFormLoading.Create(nil);


Sorry


gruss

Luckie 18. Jun 2012 12:39

AW: Nonvcl und VCL
 
nil ist richtig. null gibt es in Delphi nicht, das ist C/C++ oder Java. Debug das ganze doch mal. Eventuell muss noch
Delphi-Quellcode:
Application.Initialize;
aufgerufen werden. Aber eigentlich ist es eine schlechte Idee VCL und nonVCL zu mischen, weil für die VCL bestimmte Sachen initialisiert werden müssen. Davon mal abgesehen, macht es wenig sinn, es zu mischen, da die Vorteile von VCL, sofern es überhaupt welche sind, eine kleine Exe, dadurch wieder zunichte gemacht werden.

EWeiss 18. Jun 2012 12:42

AW: Nonvcl und VCL
 
Zitat:

Zitat von Luckie (Beitrag 1171392)
nil ist richtig. null gibt es in Delphi nicht, das ist C/C++ oder Java. Debug das ganze doch mal. Eventuell muss noch
Delphi-Quellcode:
Application.Initialize;
aufgerufen werden. Aber eigentlich ist es eine schlechte Idee VCL und nonVCL zu mischen, weil für die VCL bestimmte Sachen initialisiert werden müssen. Davon mal abgesehen, macht es wenig sinn, es zu mischen, da die Vorteile von VCL, sofern es überhaupt welche sind, eine kleine Exe, dadurch wieder zunichte gemacht werden.

Grundsätzlich gebe ich dir recht Luckie
Es geht aber nicht darum die EXE klein zuhalten sondern nur um das Aussehen (SkinEngine)
Möchte halt für meinen KaraGL Player kein Allwelt Fenster verwenden.
Das ist der grund warum ich das mische.

gruss

hsg 18. Jun 2012 12:50

AW: Nonvcl und VCL
 
Sorry, ich meinte natürlich auch nil :oops:. Die Null kommt von meinem C#-Projekten. Wenn man drei Programmiersprachen gleichzeitig nutzt, wird es manchmal ein wenig holpriger mit der Programmierung :-D

EWeiss 18. Jun 2012 12:52

AW: Nonvcl und VCL
 
Zitat:

Zitat von hsg (Beitrag 1171401)
Sorry, ich meinte natürlich auch nil :oops:. Die Null kommt von meinem C#-Projekten. Wenn man drei Programmiersprachen gleichzeitig nutzt, wird es manchmal ein wenig holpriger mit der Programmierung :-D

Warum Sorry das hat mich ja letztendlich auf meinen Dummen Fehler aufmerksam gemacht.

Danke.

gruss

Luckie 18. Jun 2012 13:16

AW: Nonvcl und VCL
 
Und was war das Problem?


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 Uhr.
Seite 1 von 2  1 2      

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