AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Formular ohne VCL

Ein Thema von FriendOfDelphi · begonnen am 12. Sep 2011 · letzter Beitrag vom 15. Sep 2011
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#11

AW: Formular ohne VCL

  Alt 12. Sep 2011, 15:36
Ja, der Owner und Parent der Scrollbox muss MyForm sein.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#12

AW: Formular ohne VCL

  Alt 12. Sep 2011, 15:47
Wobei der Owner es nicht sein muss, aber es macht Sinn (Im Normalfall zumindest, so generell kann ich das nicht stehen lassen.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
FriendOfDelphi

Registriert seit: 21. Mai 2010
163 Beiträge
 
Delphi 5 Professional
 
#13

AW: Formular ohne VCL

  Alt 13. Sep 2011, 12:36
Das war die Lösung.
Vielen Dank an die Cummunity für die Hilfe und Unterstützung.
Herzlichen Gruß
FriendOfDelphi
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#14

AW: Formular ohne VCL

  Alt 13. Sep 2011, 14:56
Non-VCL bedeutet du erstellt alle Fenster, Buttons usw. mit MSDN-Library durchsuchenCreateWindow oder MSDN-Library durchsuchenCreateWindowEx.
Ohne Klugscheißen zu wollen, würde ich das eher als die Ausnahme bezeichnen. Der übliche Non-VCL-Weg wären doch MSDN-Library durchsuchenDialogBox-Aufrufe für entsprechende Dialog-Resourcen?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Formular ohne VCL

  Alt 14. Sep 2011, 01:35
Non-VCL bedeutet du erstellt alle Fenster, Buttons usw. mit MSDN-Library durchsuchenCreateWindow oder MSDN-Library durchsuchenCreateWindowEx.
Ohne Klugscheißen zu wollen, würde ich das eher als die Ausnahme bezeichnen. Der übliche Non-VCL-Weg wären doch MSDN-Library durchsuchenDialogBox-Aufrufe für entsprechende Dialog-Resourcen?
Wer sprach denn hier von Dialogboxen? Es ging doch nur ganz allgemein darum den Unterschied zwischen VCL und nonVCL aufzuzeigen am Beispiel von TForm (dachte ich zumindest)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#16

AW: Formular ohne VCL

  Alt 14. Sep 2011, 09:14
Ich denke das ist eine Frage der Begrifflichkeit. Der Delphi-Programmierer denkt bei "Dialogbox" vermutlich zuerst an "Wollen Sie die Datei löschen? [Ja] [Nein]"-Fenster. In der Windows API aber nennt sich "Dialog", was sich unter Delphi "Form" nennt - beides sind, um ein anderes Wort zu verwenden, Fenster

Insofern ist eine "Dialogbox" bzw. ein "Dialog" in nonVCL halt tatsächlich das, was eine "TForm" in VCL ist.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#17

AW: Formular ohne VCL

  Alt 14. Sep 2011, 09:21
Insofern ist eine "Dialogbox" bzw. ein "Dialog" in nonVCL halt tatsächlich das, was eine "TForm" in VCL ist.
Nein, ein Dialog ist modales Window und ein Window ist das nonVCL Gegenstück zum TForm.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#18

AW: Formular ohne VCL

  Alt 14. Sep 2011, 14:39
Hmmm... aber TForm kann doch sowohl modal als auch nicht modal sein, abhängig davon, wie es aufgerufen wird, insofern macht das Argument "modal" doch wenig Sinn?

Dazu kommt, daß TForm sicherlich hauptsächlich modal eingesetzt wird - jede Anwendung fängt mit ihrem Hauptfenster mit einem modalen Fenster (TForm!) an, erst danach können nichtmodale Fenster ins Spiel kommen.

Genauso kann zugegeben TForm sowohl zur Designzeit als auch zur Laufzeit erstellt werden; aber wenn man auf die Ebene der VCL geht, wird es wohl immer zur Laufzeit erstellt. Sogesehen ist der Vergleich mit CreateWindow wohl passend. Nur wenn man die Anwendungsebene (die Anwendung durch den Entwickler ist hier gemeint) vergleicht, verwendet man halt üblicherweise zur Designzeit entwickelte Fenster, und die entsprechen eben RT_DIALOG-Resourcen, und nicht CreateWindow-Aufrufen.

Um Dir aber mal mit Dokumentation im Rücken zu widersprechen:
Zitat:
CreateDialogIndirect function
Creates a modeless dialog box from a dialog box template in memory.
Dort nennt die MSDN ein nicht-modales Fenster "dialog box", auch der Funktionsnamen trägt das "Dialog" in sich.

Du darfst mir natürlich gerne widersprechen, und ich lerne auch gerne noch dazu, aber kannst Du Dein Nein irgendwie ähnlich belegen?
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#19

AW: Formular ohne VCL

  Alt 14. Sep 2011, 23:48
Och Kinders,

auch ein RT_DIALOG-Resourcen ruft intern, also in der API CreateWindow... auf.

Ein Dialog ist auch nur ein Fenster und ein Fenster kann auch ein Dialog sein.
Ob nun VCL oder nonVCL das ist alles Einstellungssache.
Angehängte Dateien
Dateityp: zip nonVCL & VLC.zip (647,5 KB, 13x aufgerufen)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#20

AW: Formular ohne VCL

  Alt 15. Sep 2011, 08:38
Natürlich tut es das, steht direkt oben unter meinem MSDN-Library durchsuchenDialogBox-Link drin

Weil mich Sir Rufo nochmal arrogant süffisant lächend per PM angegangen ist, möchte ich hier nochmal klarstellen, und entschuldige mich gleichzeitig für das Herumreiten darauf:

1. Im Rahmen der Windows-API (auf die ich mich beziehe) ist ein Window ein Fenster, und ein Dialog ein aus einer Resource erstelltes Fenster. Dort ist die Unterscheidung quasi bei dynamisches vs. statischen Fenstern (statisch insofern, als das Aussehen schon festgelegt ist und nicht per Code erzeugt wird).

2. Auf Benutzer-/Entwickler-Ebene (auf der Sir Rufo argumentiert) wird der Begriff Dialog üblicherweise für modale Fenster verwendet. Dort ist die Unterscheidung zwischen modalen vs. nicht-modalen Fenstern.

Ich dachte, das hätte ich in Post #16 klar gemacht, aber offensichtlich nicht klar genug.

Und wenn ich geschrieben habe, daß ein "Dialog" in nonVCL das ist, was eine TForm in VCL ist, ist das natürlich eigentlich schlecht geschrieben, weil ich die Bezeichnungen für nonVCL auf Ebene 1 und VCL auf Ebene 2 wähle, und das in einem Satz.

Um es auf Resourcenebene zu vergleichen: die TForm, die in VCL eine Resource vom Typ RT_RCDATA ist und vom VCL-DFM-Loader erstellt wird, ist in nonVCL eine Resource vom Typ RT_DIALOG und wird von den *Dialog*-Funktionen erstellt (die - intern - etwa CreateWindowEx aufrufen).

Arbeitet man ohne Resourcen, bleibt man in VCL bei der Form, wechselt in nonVCL aber tatsächlich auf CreateWindowEx.

Geändert von CCRDude (15. Sep 2011 um 08:54 Uhr) Grund: Fehlender Buchstabe ergänzt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 06:56 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