![]() |
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 |
AW: Nonvcl und VCL
Na, da hast du ja ein Handle bei non-VCL.
Oder wie meinst du die Frage? Vielleicht bisschen Code? ;-) |
AW: Nonvcl und VCL
Zitat:
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 |
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).
|
AW: Nonvcl und VCL
Zitat:
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 |
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:
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.
Application.Initialize;
|
AW: Nonvcl und VCL
Zitat:
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 |
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
|
AW: Nonvcl und VCL
Zitat:
Danke. gruss |
AW: Nonvcl und VCL
Und was war das Problem?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:39 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