Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   TBitmap und NonVcl (https://www.delphipraxis.net/190265-tbitmap-und-nonvcl.html)

himitsu 19. Sep 2016 09:40

AW: TBitmap und NonVcl
 
Also TBitmap ist zumindestens kein VCL.

Aber es kommt darauf an, was man als NonVCL ansieht und wie weit man das treibt.
* nur ohne VCL die Forms selber gemacht
* oder auch ohne viele andere "große" Funktionen/Klassen

Man kann auch auf Indy, die Exceptionbehandlung (SysUtils), TStringList, Generics und Vieles mehr verzichten und alles selber machen.


Zitat:

Zitat von Neutral General (Beitrag 1347984)
Ich schätze das 2. sollte TBitmap heißen ;)

Upss :oops:

TImage wäre ja VCL :stupid:

EWeiss 19. Sep 2016 10:06

AW: TBitmap und NonVcl
 
Zitat:

nur ohne VCL die Forms selber gemacht
Jup um die visuellen Komponenten. ;)

gruss

Luckie 19. Sep 2016 10:57

AW: TBitmap und NonVcl
 
Die VCL verbirgt viel vor dem Programmierer. Man weiß aber nicht genau was, ohne die Sourcen genau zu studieren. wenn man das jetzt mit NonVCL mischt, könnte sich das irgendwo beißen oder zu Nebeneffekten führen und man weiß nicht warum. Beispielsweise fehlt dann irgendwo das TApplication Objekt oder was auch immer. Idee der NonVCL Programmierung ist es ja, die Exe-Dateien möglichst klein zu halten. (Ob sinnvoll oder nicht und aus welchen Gründen man das macht, sei mal dahingestellt.) Wenn ich jetzt die VCL einbinde, habe ich gegebenenfalls wieder die ganzen Units drin, die die Exe-Datei so aufblähen.

Zacherl 19. Sep 2016 13:16

AW: TBitmap und NonVcl
 
Zitat:

Zitat von EWeiss (Beitrag 1347974)
Das ist Geschmacksache und Aufwendungsbedingt.

Im Grunde hast du recht, aber Delphi ist nunmal eine objektorientierte Sprache und die Win32 API aus Gründen der Kompatibilität prozedural. Bei uns kann man API Aufrufe auch mal schnell ohne Kapselung in eine Klasse reinmischen - keine Frage, aber bei C++ führt das beispielsweise schon oft zu ziemlichen Wurschtelcode, da try..finally hier unbekannt ist und das an Klassen gekoppelte RAII Prinzip benötigt wird, um Resourcen sicher zu finalisieren.

Zitat:

Zitat von EWeiss (Beitrag 1347974)
Nebenbei ich werde noch einen Designer entwerfen mit dem man meine Visuellen Komponente incl. Window
zusammen stellen kann ohne das man alles jedes Mal von Hand im Code machen muss.
Ist schwierig aber umsetzbar.

:thumb: Sowas hatte ich mir für mein DirectX GUI Framework auch gebastelt. Habe damals den RTTI-Inspector aus den JEDIs genommen, um den Objektinspektor von Delphi zu imitieren. Das hat mir einige Arbeit erspart.

Zitat:

Zitat von Luckie (Beitrag 1348019)
Wenn ich jetzt die VCL einbinde, habe ich gegebenenfalls wieder die ganzen Units drin, die die Exe-Datei so aufblähen.

Genau. Unter diesem Kriterium habe ich in meinen "nonVCL" Programmen auch immer auf TBitmap und den Rest der RTL verzichtet. An die Größe einer Anwendung mit Formularen und visuellen Controls kommt man damit zwar nicht ran, aber die Dateigröße wird trotzdem um einen enormen Grad größer.

EWeiss 19. Sep 2016 14:00

AW: TBitmap und NonVcl
 
Zitat:

Genau. Unter diesem Kriterium habe ich in meinen "nonVCL" Programmen auch immer auf TBitmap und den Rest der RTL verzichtet
Mache ich ja auch in meiner DLL..
Nur halt nicht bei meinem Testprojekt. ;)

Wenn ich noch keine Progressbar habe dann muss ich wohl oder über auf die VCL zugreifen.
Aber ich bin dabei.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 Uhr.
Seite 2 von 2     12   

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