AGB  ·  Datenschutz  ·  Impressum  







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

Ein paar Fragen zu den Win-Forms

Ein Thema von faux · begonnen am 21. Aug 2005 · letzter Beitrag vom 21. Aug 2005
Antwort Antwort
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#1

Ein paar Fragen zu den Win-Forms

  Alt 21. Aug 2005, 21:18
Also ich hätte nochmal ein paar Fragen zum Thema Delphi.NET die ich nicht lösen lonnte (mit DP-Suche):
  • Wo liegt der Unterschied zwischen den klassischen VCL-Forms und den Win-Forms?
  • Bei den Win-Forms kappier ich garnix. Gibts da ein gutes Tutorial?
  • Mein Formular ist zB vom Typ TWinForm und heißt gleichzeitig TWinForm. Wie gehts das?
  • Wo sind die ganzen Events von der VCL hin (zB Create)?

Nya, ein Tutorial wäre nicht schlecht...

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Ein paar Fragen zu den Win-Forms

  Alt 21. Aug 2005, 21:26
Hi,
Zitat von faux:
Wo liegt der Unterschied zwischen den klassischen VCL-Forms und den Win-Forms?
Die VCL-Forms sind von eine von Borland vorgenommene Kapselung der Win-Forms. Hintergrund war, dass man versuchte alte Delphi für Win32-Projekte einfach nach .NET zu migrieren. Es ist besonders gedacht, um die alten Methoden, Klassen, Befehle etc. auf .NET zu übrtragen.

Zitat:
Mein Formular ist zB vom Typ TWinForm und heißt gleichzeitig TWinForm. Wie gehts das?
In Delphi für Win32 hast du immer mit Instanzen von der Klasse gearbeitet. D.h. deine Klasse hieß bspw. TfrmMain und du hattest eine Instanz, die frmMain hieß. In .NET arbeitet man aber immer nur noch im Rahmen von Assemblies und deswegen verwendet man nur noch die Klasse selber und keine Instanz.
Warum und wie genau das alles von statten geht, kann ich dir auch nicht sagen, dafür kenne ich mich nicht gut genug mit .NET aus.

Zitat:
Wo sind die ganzen Events von der VCL hin (zB Create)?
Die gibt es immer noch, nur heißen sie jetzt anders. Zum Beispiel verwendest du nicht mehr das OnCreate-Ereignis, sondern nur noch den Konstruktur (schau dazu in den Source). Ein ähnliches Ereignis wäre Load (den Prefix "On" gibt es nicht mehr, da man in .NET Ereignisse wesentlich besser erkennt, als in Standard-Delphi-Language).

Chris
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Ein paar Fragen zu den Win-Forms

  Alt 21. Aug 2005, 21:33
OK, danke vorerst mal.
Kennst du zufällig ein Tutorial zum einstieg? Den Rest probier ich dann selbst, aber zum Einstieg wär ein Tutorial net schlecht...
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Ein paar Fragen zu den Win-Forms

  Alt 21. Aug 2005, 21:45
Hi,
tut mir Leid, kenne ich leider nicht. Aber du kannst mal auf Seiten, wie The Code Project oder ähnliches gucken. Dort wirst du Tutorials für C# finden. Wenn du Delphi gut kannst, wirst du in die Syntax von C# schnell reinfinden. Und was in diesem Tutorial erklärt wird, funktioniert im Normalfall dann auch 1-zu-1 bei Delphi, da die Befehle/Assemblies die Gleichen sind (wenn es um Sprachdetails geht, gilt meine Aussage natürlich nicht). Außerdem kann es nicht schaden C# zu können, da es die Sprache für .NET ist.

Aber ein konkretes Tutorial kenne ich leider nicht, sorry.
Chris
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Ein paar Fragen zu den Win-Forms

  Alt 21. Aug 2005, 21:50
Zitat von Chakotay1308:
Hi,
tut mir Leid, kenne ich leider nicht. Aber du kannst mal auf Seiten, wie The Code Project oder ähnliches gucken. Dort wirst du Tutorials für C# finden. Wenn du Delphi gut kannst, wirst du in die Syntax von C# schnell reinfinden. Und was in diesem Tutorial erklärt wird, funktioniert im Normalfall dann auch 1-zu-1 bei Delphi, da die Befehle/Assemblies die Gleichen sind (wenn es um Sprachdetails geht, gilt meine Aussage natürlich nicht). Außerdem kann es nicht schaden C# zu können, da es die Sprache für .NET ist.
Gute Idee, werd ich mal machen.
Ist der einzige Unterschied zwischen VB.NET, C# und Delphi.NET eigentlich der Syntax, oder wie sehe ich das? :S

Da fällt mir grad ein, ich hab mir mal ein Buch ausgeborgt und noch nicht zurückgegeben:
http://www.amazon.de/exec/obidos/ASIN/3827267730/delphipraxis-21
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Ein paar Fragen zu den Win-Forms

  Alt 21. Aug 2005, 22:02
Hi,
Zitat von faux:
Ist der einzige Unterschied zwischen VB.NET, C# und Delphi.NET eigentlich der Syntax, oder wie sehe ich das? :S
jein. Pauschal kann man das nicht sagen, aber im Groben schon.
Es gibt einige kleine Sachen, die mit der einen Sprache gehen und mit der anderen nicht (spontan fallen mir da die [dp]ClassHelper*[/dp] ein). Oder manche Dinge sind einfach anders zu handhaben. Das liegt aber meistens daran, dass die Syntax anders aufgebaut ist und deswegen manche Tricks aus C# z.B. nicht in VB.net oder Managed C++ funktionieren...

Chris
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: Ein paar Fragen zu den Win-Forms

  Alt 21. Aug 2005, 22:04
Zitat von faux:
Ist der einzige Unterschied zwischen VB.NET, C# und Delphi.NET eigentlich der Syntax, oder wie sehe ich das? :S
Jain...
Alle .Net Sprachen teilen die gleiche RTL (mscorelib.dll) und sie können auch fleißig gegenseitig Klassenbibliotheken verwenden.
D.Net fällt aber durch seine krasse Verwebung mit einer 2. RTL aus der Rolle.
Es ist in D.NBet nicht möglich irgendetwas zu machen, dass keine Bezüge zu dieser RTL bewirkt.
Auch die Art und Weise wie Assemblies geladen werden unterscheidet sich vom .Net Standard.
Während normalerweise nur die KLasse geladen werden, die du auch anfasst (und auch erst dann), verlangt D.Nets Mangel an class constructors, dass sie alle geladen werden. Wieder so ein Kompatibilitätsding um mit der alten initialization/finalization Syntax nicht abzubrechen. Es wird auch einen Haufen Zusatzkrams an deine Klassen hauen, so dass D.Net Assemblies und Klassen immer anders aussehen, als Kompilate aller anderen .Net Sprachen.
Mag hart klingen, aber ich bin basolut nicht einverstanden, mit der Art in der Delphi für Net implementiert wurde.
DAS hat Delphi IMHO einfach nicht verdient...

Edit:
@Chris
class elpers sind aber nur ein simpler Trick. Du verdankst ihnen übrigens, dass dir an jeder Klasse die Methode Dispatch aufgezwungen wird. Innerhalb einer D.Net Assembly könnten sie sinnvoll sein (siehe sakuras XmlNode), aber niemand anders kann es nutzen, da sie nicht von der Runtime unterstützt werden...

Zum Lernen von .Net ist C# eine prima Sache, es kann einfach nicht mehr, als dass, was ihm .Net vor die Füße wirft.

p.s.: Da du den Reflector entdeckt hast:
Teste mal eine kleine kompilierte D.Net Assembly gegen ihr C# Gegenstück.

Delphi-Quellcode:
type
  SomeClass = class
  public
    procedure DoNothing;
  end;

implementation

procedure SomeClass.DoNothing;
begin
end;
Code:
public class SomeClass
{
  public void DoNothing()
  {}
}
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Ein paar Fragen zu den Win-Forms

  Alt 21. Aug 2005, 22:19
OK, danke!

@Robert_G: Ich weiß nicht ob du auf das hinaus wolltest, aber die C#-APplikation hat nur 3,5KB und macht genau das Selbe wie die Delphi.NET, welche aber 35KB hat und das nur weil sie vier Borland-Units hat.
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:02 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