Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi pro VCL (https://www.delphipraxis.net/60777-pro-vcl.html)

tomsel 12. Jan 2006 09:04


pro VCL
 
Hallo DP,

ich hätte da mal gerne ein Problem, und zwar Folgendes: Um in die "hohe Kunst" der nonVCL-Programmierung Einlass zu erhalten, habe ich hier in der DP Beiträge zu diesme Thema gesucht, und auch gefunden. Allerdings: ein ziemlich großer Teil der Texte scheinen mir alles Andere als informtiv und konstrunktiv zu sein, sondern widmet sich ausführlich dem Wettern gegen diese armen, idiotischen VCL-Programmierer (diese Wertung ist von mir nicht so beabsichtigt und nicht wörtlich zunehmen).

Was soll das denn?! Glauben manche nonVCL-er, sie hätten die Programmierung erfunden? Ihr kennt euch sicher sehr gut in der WinAPI aus, könnt mit Pointern und ZStrings, Speicherallokation, IPC und weis der Geier was super umgehen. Aber macht das ausschließlich euch zu guten Programmierern und die anderen zu jämmerlichen Klickies?

Ich für meinen Teil habe nicht ewig Zeit für die Oberflächenprogrammierung, sondern ich will in kurzer Zeit eine Programmoberfläche haben, die auch dem verwöhnten Userauge schick und komfortabel erscheint. Ich benutze dafür Werkzeuge, und die VCL ist eines davon. Und ja, ich verwende OnSchlagmichtotEreignis und Co, um meinem Userinterface Funktionalität beizubringen, die den Anwendungskomfort erhöht. Und ja, ich benutze auch das böse, böse OnClick, um meiner, quasi im "Untergrund" laufenden Anwendung mitzuteilen, was der User als nächstes wünscht und was er zu diesem Zwecke eingegeben hat.

Wozu soll ich API-Funktionen direkt aufrufen, wenn diese gekapselt werden und sich so viel bequemer nutzen lassen? Ich rufe diese nur auf, wenn es keine andere Möglichkeit gibt. Und ich schreibe nur dann eigene Messagehandler, wenn ich nicht mit OnDies und OnJenes an bestimmte Messages herankomme.

Können mir diese überzeugten VCL-Hasser mal erklären, warum sie so stolz auf sich sind? Ich beschäftige mich sicherlich auch mit dieser Materie, aber eben in meiner Freizeit, wenn ich nichts anderes zu tun habe. Um mal einen Vergleich zu bemühen: Ein Schreiner sägt große Platten auch nicht mehr mit dem Fuchsschwanz zurecht, um den Schnitt danach mit der Raspel zu ebnen und glatt zu feilen. Er nimmt eine elektrische Präzisions-Super-Monster-Kreissäge mit Anschlag, Seitenführung und was sonst noch alles und erhält damit auf Anhieb einen glatten, rechtwinkligen Schnitt, der meist nicht mehr nachbearbeitet werden muss. Ich nehme halt die VCL, basta!

Nix für Ungut
Gruß, tomsel

DerDan 12. Jan 2006 09:25

Re: pro VCL
 
Ich stimme Dir voll zu!

und zwar voll voll!

Ich kenne einen, der vor Jahren schon Borland aufgegeben hat und nur mit Visual Studio handiert.
Okay, seine Programme sind klein, was halt daran liegt das die MFC als DLL auf jedem Rechner liegt.

Aber seine Programme sehen selten schön aus, funktionieren selten einwandfrei und bieten meist auch nicht den Komfort den man heute einfach erwartet.

Wenn ich ihm dann ein Delphi Programm zeige dann sagt er nur immer, das für diese Art von Programmen Delphi geeignet ist (implizit VCL).

Bis jetzt fehlt noch der Nachweis, dass es Applikationen gibt, für die man auf die VCL verzichten muss um es hin zu bekommen. Wenigstens für mich.

Ausser bei der Forderung, das das Prog kleiner als 350kByte sein muss. und das fordert heute niemand mehr oder? und wenn ja warum?


Ich habe auch die Beiträge gesehen nach dem Motto: "ich will was tolles machen, aber auf keinen Fall mit der VCL"

mir gehts wie Dir ich frag mich nach dem Sinn



mfg


DerDan

Ferber 12. Jan 2006 09:28

Re: pro VCL
 
Ist euch fad ?

Vjay 12. Jan 2006 10:18

Re: pro VCL
 
Also nun mal langsam.
Was bist du für ein Mensch, der sich von allgemeinen Aussagen angreifen lässt?
Wenn du diskutieren möchtest führe die entsprechenden Stellen bitte an. Dieser Beitrag scheint mir genauso ein Blindschuß, nur halt in die andere Richtung, zu sein.

Programmiert doch wie ihr wollt!

Wie groß seid ihr eigentlich? Haarfarbe? Wie siehts mit eurer Pooren im Gesicht aus, sind die klein und sauber? Also mal ganz ehrlich ich finde zu jedem Thema im Inet irgend einen Beitrag, wo etwas gegen was auch immer gesagt wird.

Wieso überlest ihr das nicht einfach?

Ach PS. es gibt sicherlich mehr fälle die pro API sprechen, hoffe damit bin ich jetzt nicht zum Erzfeind aller VCLler abgestempelt - diese nutze ich nämlich auch.

DerDan 12. Jan 2006 10:35

Re: pro VCL
 
Zitat:

Zitat von Vjay
Ach PS. es gibt sicherlich mehr fälle die pro API sprechen, hoffe damit bin ich jetzt nicht zum Erzfeind aller VCLler abgestempelt - diese nutze ich nämlich auch.

Die da wären?

Vjay 12. Jan 2006 10:43

Re: pro VCL
 
Die Frage ist wohl eher, ob ihr überhaupt eine sachliche Diskussion führen, oder eher nur Dampf ablassen wollt ;). Mir scheint es eher nach zweiterem, denn auf die anderen Argumente meines Beitrags gehst du ja garnicht ein.

Okay, Beispiel: www.machmalnenbierauf.de/downloads/vanim.zip

Kevin 12. Jan 2006 11:16

Re: pro VCL
 
Das ist doch wenn überhaupt wieder eine dieser "Glaubensdiskussionen", wie man sie bei Betriebssystemen, Programmiersprachen oder Browsern kennt. Meiner Meinung nach eher Geschmacksache, auch wenn es sicherlich Pros und Contras zu jeder Seite gibt, führt so eine "Diskussion" imho zu nix... :???:

DerDan 12. Jan 2006 11:17

Re: pro VCL
 
Ich fand deine anderen Argumente OT und wollt fragen welche argumente gegen VCL sprechen

Vjay 12. Jan 2006 11:26

Re: pro VCL
 
Zitat:

Zitat von Kevin
Das ist doch wenn überhaupt wieder eine dieser "Glaubensdiskussionen", wie man sie bei Betriebssystemen, Programmiersprachen oder Browsern kennt. Meiner Meinung nach eher Geschmacksache, auch wenn es sicherlich Pros und Contras zu jeder Seite gibt, führt so eine "Diskussion" imho zu nix... :???:

Sehe ich auch so, habe ich ihnen ja auch versucht klarzumachen. Meines erachtens ist die IDE auch garnicht so wichtig, sondern wie man damit umgeht ;)

Zitat:

Zitat von DerDan
Ich fand deine anderen Argumente OT und wollt fragen welche argumente gegen VCL sprechen

Ich versuchte darüber zu diskutieren und du findest das OT?
Ganz ehrlich, das ist mir zu blöd, dann zick halt weiter rum ;)

Und tschüß.

zer00 12. Jan 2006 11:41

Re: pro VCL
 
Wenn die von mir geschriebene Application den Zweck erfüllt, ist es doch Sch***s egal in welcher Sprache, mit welcher IDE oder in welchen Kleidern ich vor dem Pc hocke.

grz zer00

DerDan 12. Jan 2006 12:31

Re: pro VCL
 
Okay,

ich stimme zu das es Sch*** Egal ist wenn das Programm läuft!!!

ich geb auch zu das man sicher über wichtigere Dinge diskutieren kann!!!

Aber gibt es aber dennoch einen der wirklich einen Grund oder Gründe hat VCL zu nehmen oder eben nicht?


mfg DerDan

Der_Unwissende 12. Jan 2006 12:50

Re: pro VCL
 
Zitat:

Zitat von DerDan
Aber gibt es aber dennoch einen der wirklich einen Grund oder Gründe hat VCL zu nehmen oder eben nicht?

Es gibt für beides genug Gründe. Wo ich aber dem ursprünglichen ersten Beitrag komplett zustimme, man sollte diese Argumente endlich mal wertfrei betrachten! Es ist doch irgendwie lächerlich hier zu diskutieren, dass alle die VCL benutzen blöd oder toll sind und analog für Non VCLer. (sorry, ignorier hier mal die sowohl als auch).

Wichtig ist letztlich wie schon gesagt wurde, dass man zum Ziel kommt.

Hier nochmal die imho wichitigsten Gründe:

pro VCL:
  • Anfänger (die wollen doch wohl kaum in die Win-API reinschauen!)
  • Kapselung (Borland kümmert sich um Änderungen an der API)

pro Non-VC
  • Reinschnuppern in die direkte Windowsprogrammierung (anders wohl schwer möglich)
  • Borland Programmierer (worauf basiert wohl die VCL?)
  • Extrem kleine Programme (wenn's mal 20 KByte weniger sein müssen)

Natürlich ist die Liste weder vollständig noch komplett ernst gemeint. Ich möchte hier nur mal zeigen, dass es Gründe gibt. Aber für wen was wann besser ist, sollte einfach jedem Programmierer überlassen bleiben. Wer dagegen wettern möchte, den wird sicher keiner hindern (aber wohl auch keiner zuhören)

Gruß Der Unwissende

ichbins 12. Jan 2006 13:38

Re: pro VCL
 
ich schließe mich dem_Unwissenden ;) voll an. Ich denke auch, dass man wenigstens einmal ein nonVCL-Programm geschrieben haben soll, wenn es auch noch so mickrig ist.

Vorteile der VCL sind natürlich:


- viele einfacher
- viel schneller

Vorteile der nonVCL-Programmierung dagegen sind:

- bei der VCL wird alles irgendwie um 5 Ecken erledigt (langsamer)
- die VCL braucht mehr RAM
- die VCL lässt sich leichter hacken (ressourcenhacker -> dfm-Code DIEREKT ausles- und veränderbar)
- und natürlich die Dateigröße


ich programmiere dennoch hauptsächlich in der VCL. Die nonVCL verwende ich nur für meinen SFX-Setup-Packer.

Luckie 12. Jan 2006 14:10

Re: pro VCL
 
Zitat:

Zitat von tomsel
Allerdings: ein ziemlich großer Teil der Texte scheinen mir alles Andere als informtiv und konstrunktiv zu sein, sondern widmet sich ausführlich dem Wettern gegen diese armen, idiotischen VCL-Programmierer (diese Wertung ist von mir nicht so beabsichtigt und nicht wörtlich zunehmen).

Was soll das denn?! Glauben manche nonVCL-er, sie hätten die Programmierung erfunden?

DAS hätte ich gerne mal mit Postings aus dem Forum hier von dir belegt.

Ansonsten will ich nicht weiter auf dein polemisches Geschreibsel eingehen, denn mehr ist es nicht, und nur noch für mich sprechen. Acuh ich habe damaös natürlich mit VCL angefangen, asl ich Delphi entdeckt hatte. Nur irgendwann war es keine Herausforderung mehr für mich. Dann habe ich bei Olli aka Assarbad sein nonVCL Tutorial entdeckt. Das hat mich faszinierd und ich habe mich lange zeit damit außeinandergesetzt, woraus dann meine eigenen nonVCL-Tutorials entstanden: Win32 API Tutorials für Delphi.

Mit der Zeit ergaben sich daraus folgende Erkenntnisse für mich (folgende Liste ohne Wertung):
  • Die VCL kompiliert meist viel unnötigen Code mit ein.
  • Ohne VCL braucht man etwas länger, da man auf den Komfort der IDE verzichten muss. (Allerdings ich habe mittlerweile so viel Übung, dass das bei mir nicht so zum Tragen kommt - zu mindest bei kleineren Projekte.)
  • Ich habe gelernt, wie Windows eigentlich wirklich funktioniert. Stichworte: Nachrichten-Schleife, Fensterprozdur. Wer nur mit der VCL arbeitet hat davon keinen blassen Schimmer. Dieses tiefere Verständnis, trägt oftmals dazu bei Probleme mit Windows und der VCL zu verstehen. Bestes Beispiel: "Warum ist meine Zeichnung weg, wenn ich direkt auf dem Canvas zeichne und das Fenster minimiere?" Antwort siehe hier: http://www.michael-puff.de/Developer...tioniert.shtml
  • Wirtschaftlich ist die nonVCL Programmierung Unsinn. Wenn ich für Kunden was programmierer, dann natürlcih mit der VCL. Es sei denn:
  • die Exe muss zwingend klein sein, wie zum Beispiel die Stub bei einem SFX-Archiv. Doirt wäre die VCL absolut fehl am Platz.
  • Die VCL ist ziemlich ressourcendfressnd.
  • Mit VCL verliert man mancham ziemlich die Kontrolle über den Code und man weiß manchmal nicht, ob man selber den Mist produziert hat oder ob es ein Bug in der VCL ist.

Privat nutze ich die VCL, wenn ich mir mal schnell ein kleines Tool basteln will, wie zum Beispiel Pegasus. Ich gehöre also wohl nicht zu den nonVCL Fanatikern, die du da in deinem Posting beschreibst. Ich habe noch nie jemanden angegriffenm oder dafür verachtet, weil er die VCL nutzt. Nur denke ich man sllte sich das mal zu mindest angeguckt haben, damit man ungef#hr weiß, was hinter den Kolissen passiert und es zum allgemeinen Verständnis beiträgt. Und gerade heute in der von Technik beherrschten Welt bin ich der meinung, dass ein Grundverständnis da sein sollte, wie Radio, Telefon, Bezinmotor und Fernsehen funktioniert. Ansosnsten ist die nonVCL Programmierung für mich nur ein Hobby im Hobby "Programmieren mit Delphi", weil ich Spass daran habe und kleine ressourcenschonende Programme für mich immer noch einen Reiz haben.

mirage228 12. Jan 2006 14:34

Re: pro VCL
 
Hi,

Also ich programmiere auch meistens VCL, aus den bereits genannten Gründen.
Ich konzentriere mich erstmal natürlich um den Code außerhalb der GUI und dann möchte ich nicht unnötig Zeit vertun, an der GUI rumzubasteln - auch wenn eine schöne GUI auch mit der VCL zeitaufwendig sein kann.
Aber solange das Ergebnis stimmt und man selbst zufrieden ist, ist es imho egal, ob man VCL oder WinAPI programmier habe.

Was ich aber als kleinen Vorteil der API sehe, dass man immer das volle Spektrum nutzen kann. Bei der VCL fehlen ggf. bestimmte Eigenschaften (XP-Grouping der Listview ist z.B. in der VCL nicht dabei.) oder es gibt halt ab und zu Bugs. Aber wenn man damit leben kann, ist die VCL was wirklich tolles, was einem das Leben (oder die GUI-Programmierung *g*) stark erleichtert.

mfG
mirage228


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:38 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