Autor Beitrag
moloch
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Fr 01.10.04 16:06 
Hallo Leute,
ich bin ein .Net -Neueinsteiger.
Ich habe schon einiges gelesen darüber, aber ich möchte jetzt mal was machen. Bevor ich das tun kann möchte ich aber noch mal genau auf den Punkt wissen was man alles mit delphi 8 .net machen kann.

Z.B. Windows Form Anwendung, was sind die Vorteile warum sollte ich eine Anwendung damit schreiben?

mfg

moloch
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Fr 01.10.04 16:26 
Die VCL.NET wurde hauptsächlich aus Kompatibilitätsgründen weiterentwickelt, damit alte VCL-Projekte (mehr oder minder...) problemlos portiert werden können. Dabei wurde die Klassenstruktur so gut es geht nachgestaltet. Die VCL.NET gehärt also offiziell auch nicht zum .NET-Standard und ist nur mit den passenden Assemblies von Borland benutzbar..
Windows.Forms ist der Namespace der "echten" .NET-Klasen für Fenster und Buttons und alles drumrum. WinForms ist also bestandteil des Original-Framworks und benötigt keine Assemblies von Borland. Außerdem ist WinForms im Gegensatz zur VCL.NET in alle RAD-IDEs für .NET unter Windows integriert, wenn es also einen Formdesigner gibt, gibt es ihn sicherlich für WinForms. Ein Formdesigner für die VCL.NET gibt es nur für Delphi8, auch wenn solche Programme prinzipiell mit jedem anderen DL.NET-fähigem Compiler kompilierbar sein sollten, sofern die Assembly vorhanden ist.
Neue Anwendungen sollten daher mit den Klassen aus Windows.Forms entwickelt werden, zum einen weil man damit eine Zwischenschicht in Form der VCL.NET weniger hat, und zum anderen weil Windows.Forms komplett managed ist, während die VCL.NET hier und da noch massiv auf P/Invoke setzt und somit das Framework eigentlich "austrickst".

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Mo 04.10.04 13:34 
hallo,

ok so ungefähr hab ich das auch verstanden.

-benutze ab jetzt windowsforms weil einheitliche sprache die plattformunabhängig

zwischenfrage:was ist das mit pinvoke, was hat das für nachteile?

und ist das jetzt der einzige grund warum ich eine windows-forms-anwendung schreiben sollte?

hat windowsforms nichts mit webanwendung zu tun?

irgendwie komme ich da noch durcheinander, ich hoffe ich mache dich nicht durcheinander.

mfg
moloch
Martin Strohal
Hält's aus hier
Beiträge: 23
Erhaltene Danke: 9



BeitragVerfasst: Mo 04.10.04 14:43 
tommie-lie hat folgendes geschrieben:
Neue Anwendungen sollten daher mit den Klassen aus Windows.Forms entwickelt werden, zum einen weil man damit eine Zwischenschicht in Form der VCL.NET weniger hat, und zum anderen weil Windows.Forms komplett managed ist, während die VCL.NET hier und da noch massiv auf P/Invoke setzt und somit das Framework eigentlich "austrickst".

Das stimmt nicht ganz (s. hier). WinForms setzt (momentan) genau so wie VCL.NET auf Win32-API-Aufrufe auf. Erst unter einem .NET-Betriebssystem wird sich das wohl ändern.

moloch hat folgendes geschrieben:
benutze ab jetzt windowsforms weil einheitliche sprache die plattformunabhängig

WinForms ist keine Sprache, sondern eine Klassenbibliothek für Desktop-Anwendungen mit GUI. Und die Plattformunabhängigkeit bekommst du mit Delphi momentan sowieso noch nicht hin. Mono wird nicht offiziell unterstützt.

Zitat:
zwischenfrage:was ist das mit pinvoke, was hat das für nachteile?

Es wird von der "neuen Welt" (.NET) auf die "alte Welt" (COM, Win32-API usw.) zugegriffen. Das braucht wegen der an den Schnittstellen stattfindenden Sicherheitsprüfungen Zeit.

Zitat:
und ist das jetzt der einzige grund warum ich eine windows-forms-anwendung schreiben sollte?

Kommt drauf an :) Was wäre die Alternative? Ist deine Frage, ob WinForms oder VCL besser ist? Oder WinForms oder VCL.NET? Oder WinForms oder WebForms? Oder WinForms oder Konsole? ...

Zitat:
hat windowsforms nichts mit webanwendung zu tun?

Nein, das ist wie oben gesagt für Desktopanwendungen mit GUI. Für Webanwendungen (ASP.NET) gibt es extra Klassen. Im Browser kann man einfach nicht so viel tun wie in einer Desktopanwendung.

Gruß, Martin

_________________
Webmaster Delphi-Treff
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Mo 04.10.04 14:50 
hey,

also meine erste Frage: was ist GUI?

Und meine Hauptfrage ist jetzt eigentlich diese:

Ich habe sämtliche Anwendungen mit Delphi5 geschrieben.
Jetzt habe ich Delphi8 (.Net) und möchte wissen was ich jetzt im groben alles für Vorteile habe wenn ich mich eingefummelt habe. Was ich eben tolles "neues" damit machen kann.

Es sind einfach viel zu viele Informationen auf einmal für mich wenn ich mir irgendwas darüber durchlese. Ich verstehe schon ein bischen aber am meisten würde mir eine einfache antwort mit einem Punkt am ende des Satzes helfen. Wenn es die darauf gibt..

mfg
moloch
tommie-lie
ontopic starontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic star
Beiträge: 4373

Ubuntu 7.10 "Gutsy Gibbon"

BeitragVerfasst: Mo 04.10.04 15:12 
moloch hat folgendes geschrieben:
was ist GUI?
Graphical User Interface, eine grafische Benutzerschnittstelle eines Programmes (für Windows-User: alles :mrgreen:)

_________________
Your computer is designed to become slower and more unreliable over time, so you have to upgrade. But if you'd like some false hope, I can tell you how to defragment your disk. - Dilbert
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Mo 04.10.04 16:47 
ok,

und warum sollte ich nun delphi .net verwenden?

mfg
moloch
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Mo 04.10.04 19:57 
Zitat:
Neue Anwendungen sollten daher mit den Klassen aus Windows.Forms entwickelt werden,

damit sie mit Windows Longhorn dann in den Papierkorb geschoben werden können, weil WinForms dann durch Avalon ersetzt wird, wobei die VCL.NET dann wahrscheinlich auf für Avalon existieren wird.

moloch hat folgendes geschrieben:
und warum sollte ich nun delphi .net verwenden?

Weil Microsoft die Win32API "auslaufen" lässt :roll:

_________________
Ist Zeit wirklich Geld?
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Mi 06.10.04 11:00 
das mit longhorn meinst du so, dass es dann wieder was neues geben wird und winforms jetzt zu lernen quatsch wär?

kannst du mir erklären was die win32api bedeutet.
also ich habe das so verstanden, es ist im grunde nichts anderes als eine bibliothek mit sämtlichen funktionen auf die wir beim programmieren mit delphi bisher zugegeriffen haben!?



mfg

moloch
Martin Strohal
Hält's aus hier
Beiträge: 23
Erhaltene Danke: 9



BeitragVerfasst: Mi 06.10.04 15:16 
Mal eine Frage vorweg: Weshalb hast du dir Delphi 8 gekauft, wenn du in .NET gar keine Vorteile siehst und deshalb noch nicht dafür entwickeln willst?

GUI ist die grafische Benutzerschnittstelle - im Gegensatz zu reinen Konsolenanwendungen ("DOS-Fenster" genannt, auch wenn das ebenfalls reine 32-Bit-Windowsanwendungen sein können, die man auch in Delphi schreiben kann).

moloch hat folgendes geschrieben:
das mit longhorn meinst du so, dass es dann wieder was neues geben wird und winforms jetzt zu lernen quatsch wär?

Es wird unter Longhorn wieder etwas Neues geben. Aber es ist nicht Quatsch, sich jetzt schon mal mit dem .NET-Framework vertraut zu machen. Denn die Klassenbibliothek wird nicht noch einmal komplett über den Haufen geworfen werden.

Zitat:
kannst du mir erklären was die win32api bedeutet.

Das ist die Schnittstelle, über die Windows programmierbar ist. Bislang waren das einige ungeordnete Windows-DLLs mit Befehlen, die keinem einheitlichen Schema folgen. Manche geben eine Zahl als Fehlercode zurück (z.B. 0 bei Erfolg, alles andere muss geprüft werden), andere erwarten, dass man anschließend GetLastError aufruft, um den Erfolg zu überprüfen. Objektorientiert war sowieso nichts. Microsoft war der Ansicht, dass es keinen Sinn macht, dieses Chaos weiter zu "pflegen" und hat deshalb noch einmal neu angefangen. Herausgekommen ist die .NET Framework Class Library.

Zitat:
also ich habe das so verstanden, es ist im grunde nichts anderes als eine bibliothek mit sämtlichen funktionen auf die wir beim programmieren mit delphi bisher zugegeriffen haben!?

Imi Prinzip richtig. In Delphi haben wir es einfach, weil wir die Delphi-Funktionen verwenden können. Diese rufen dann von sich aus die entsprechenden Win32-API-Funkionen auf. Als Delphi-Programmierer hat man nicht so häufig damit zu tun.

.NET ist die Zukunft der WIndows-Programmierung. Es schadet also nicht, wenn man schon mal anfängt, sich damit auseinanderzusetzen.
Was "tolles Neues" kannst du damit nicht machen, außer dass vielleicht einige Dinge leichter zu programmieren sind. Aber die Anwender deines Programms werden keinen Unterschied feststellen (außer dass sie .NET installieren müssen, wenn sie das noch nicht haben).

Du kannst aber auch ohne Probleme erst mal noch bei Delphi 5 bleiben, wenn dir das ganze Thema etwas suspekt ist.

_________________
Webmaster Delphi-Treff
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Do 07.10.04 11:54 
hey,

also danke erstmal für deine ausführliche antwort.

ich habe mir delphi 8 eigentlich nicht selber zugelegt, es wurde mir gegeben und ich sollte mich einarbeiten.

Ok also nach dem was Du geschrieben versteh ich langsam mehr was das auf sich hat alles.
Aber das ist doch nicht das einzige warum Borland jetzt dieses .Net rausbringt.
Was ist mit diesen Web-Anwendungen? Wo man keine richtige Exe mehr lokal auf dem Rechner hat etc. Das gehört doch auch noch zum Paktetumfang von delphi8 !?

mfg
moloch
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Fr 08.10.04 01:23 
moloch hat folgendes geschrieben:
Das gehört doch auch noch zum Paktetumfang von delphi8 !?

Du meinst ASP.NET ?

_________________
Ist Zeit wirklich Geld?
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Fr 08.10.04 11:20 
hey,

ja das ist es ja.

also mit asp.net kann man eben diese web-anwendungen programmieren.

einfach nur .net heisst im grunde nur das wir nicht mehr auf win32api zugreifen sondern auf das .net-framwork!?

eine andere frage noch: ich habe irgendwie was gelesen von plattformunabhängig programmieren. was heisst das genau?

mfg
moloch
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Fr 08.10.04 13:21 
.NET nutzt wie Java eine Virtuelle Maschine. Den Code den ein .NET Compiler produziert ist nichts anderes als die Microsoft Intermmediat Langugage (MSIL), eine Art Maschinensprache für das .NET Framework.
Unter Linux gibt es Mono, eine freie .NET Implementierung. Diese kann, solange man keine DLLs einbindet oder auf platform spezifische Assemblies zugreift, .NET Programme ohne Code-Änderung ausführen.

Wenn du Delphi 8 hast kannst du dir mal diesen Patch anschauen

_________________
Ist Zeit wirklich Geld?
Martin Strohal
Hält's aus hier
Beiträge: 23
Erhaltene Danke: 9



BeitragVerfasst: Fr 08.10.04 13:57 
moloch hat folgendes geschrieben:
Aber das ist doch nicht das einzige warum Borland jetzt dieses .Net rausbringt.

.NET ist von Microsoft, nicht von Borland :) Und Borland bringt Delphi für .NET, damit nicht alle, die für .NET programmieren wollen, jetzt zu Microsoft (C#, VB.NET) wechseln.

Zitat:
Was ist mit diesen Web-Anwendungen? Wo man keine richtige Exe mehr lokal auf dem Rechner hat etc. Das gehört doch auch noch zum Paktetumfang von delphi8 !?

Das gehört insbesondere zum Funktionsumfang von .NET und damit natürlich auch zu Delphi 8.

Zitat:
ich habe irgendwie was gelesen von plattformunabhängig programmieren. was heisst das genau?

Das heißt, dass dein .NET-Programm auf allen Betriebssystemen laufen kann, für die es das .NET-Framework (Common Language Runtime) gibt. Für Linux gibt es z.B. Mono. Delphi-Anwendungen haben allerdings interne Abhängigkeiten, die es momentan noch an Windows bindet. Nur Konsoleanwendungen sollen auch unter Mono laufen können.

_________________
Webmaster Delphi-Treff
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Fr 08.10.04 14:10 
ok,
langsam begreif ich es.
und mit was kann man jetzt diesen namen .net verbinden.also wie kommt microsoft auf diesen namen?

mfg
moloch
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Fr 08.10.04 14:19 
ok ich hab mal reingeschaut in den quellcode. aber was macht das genau und wie sollte es mir helfen?

mfg
moloch
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Fr 08.10.04 14:23 
moloch hat folgendes geschrieben:
ok ich hab mal reingeschaut in den quellcode.

In welchen? Wenn du den Mono Patch für Delphi 8 meinst, dieser erlaubt es dir die SysUtils, Classes, Contnrs, StrUtils und ein paar weitere Units auch unter Mono zu nutzen.

_________________
Ist Zeit wirklich Geld?
Martin Strohal
Hält's aus hier
Beiträge: 23
Erhaltene Danke: 9



BeitragVerfasst: Fr 08.10.04 16:08 
moloch hat folgendes geschrieben:
und mit was kann man jetzt diesen namen .net verbinden.also wie kommt microsoft auf diesen namen?

Keine Ahnung, das musst du Microsoft fragen :)
Hier noch eine .NET-Einführung: www.delphi-source.de.../dotnet/ueberdotnet/
Außerdem kannst du dich noch im .NET Framework Developer Center umsehen.

_________________
Webmaster Delphi-Treff
moloch Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 451

Win 2000
D5 Prof
BeitragVerfasst: Mo 11.10.04 11:46 
dank dir für den tip.
delphi-source hab ich auch schon was gelesen.
das andere werd ich mir auch mal anschauen.

mfg

moloch