Autor Beitrag
Passer
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 15.10.04 18:07 
Nabend Xperten,
zuerst sei zugegeben, dass ich mir nicht socher bin, ob dies hier der richtige Unterbereich ist und ob mein Problem nicht vielleicht schon an anderer Stelle ausführlich diskuttiert wurde (wenn ja, wäre ein Verweis auf diese Stelle ganz nett).

Nun aber zu meinem Problem.

Ich wurde damit beauftragt bei uns an der Uni die Delpji 7 rechner auf Delphi 8 zu Upgraden. Das war auch kein grösseres Problem (ausser, dass ich auf 20 Rechnern einiges nachcompilieren musste.

Nun denn, als ich fertig war, versuchte ich ein paar alte Projekte zu Öffnen und auszuführen und kriegte auch gleich einen Sack voll Fehlermeldungen bei trivialstBefehlen:
Zitat:
[Warning] Proj_pr3.dpr(7): Unit 'Borland.Vcl.Forms' is specific to a platform
[Warning] prop_p03.pas(6): Unit 'Borland.Vcl.Windows' is specific to a platform
[Warning] prop_p03.pas(6): Unit 'Borland.Vcl.Messages' is specific to a platform
[Warning] prop_p03.pas(6): Unit 'Borland.Vcl.Graphics' is specific to a platform
[Warning] prop_p03.pas(6): Unit 'Borland.Vcl.Controls' is specific to a platform
[Warning] prop_p03.pas(6): Unit 'Borland.Vcl.Forms' is specific to a platform
[Warning] prop_p03.pas(6): Unit 'Borland.Vcl.Dialogs' is specific to a platform
[Warning] prop_p03.pas(7): Unit 'Borland.Vcl.StdCtrls' is specific to a platform
[Error] prop_p03.pas(32): Unsupported language feature: 'destructor'
[Error] prop_p03.pas(104): Undeclared identifier: 'MOVE'
[Error] prop_p03.pas(164): Undeclared identifier: 'Create'
[Fatal Error] Proj_pr3.dpr(7): Could not compile used unit 'prop_p03.pas'

Die obereb kann ich mir ja noch einigermasse erklären, denn das ursprüngliche Projekt war ein Window-Form-Objekt und kein VCL Objekt, woraus sich auch gleich meine erste Frage ergibt:

1) Wie kann ich alte WindowForm Projekte als genau solche in Delphi 8 importieren

Die restlichen Fragen ergeben sich aus den restlichen Meldungen:

2) Warum kann man seit Delphi 8 keinen Destructor mehr definieren

3) Warum gehen trivialstStringoperationen wie "MOVE( s[i + 1], s[1], size);" oder " a_daten := DatenAusgabe.Create;" nicht mehr.

Vielleicht wäre es an dieser Stelle ganz angebracht mir verzweifelten einen Link vor den Kopf zu stossen, was sich von Delphi 7 zu Delphi 8 geändert hat (www.delphi-source.de/grundlagen/dotnet/ hat mir leider nicht wirklich weitergeholfen)

Ich enrichte schonmal meinen herzlichsten Dank an alle Helfenden

MfG
Passer
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Fr 15.10.04 20:18 
Delphi 8 ist die .NET Variante von Delphi. Delphi 7 ist für Win32 und läuft nativ auf dem Prozessor. Delphi 8 erzeugte Programme laufen nicht direkt auf dem Prozessor, sondern in einer virtuellen Maschine.

Um es klar auszudrücken: Delphi 8 ist nicht das "Update" für Delphi 7, sondern ein ganz neues Konzept. Borland hat einiges gemacht, um die Delphi Syntax nicht gravierend verändern zu müssen, aber einige Änderungen sind durch die .NET Umgebung bedingt. So besitzt .NET einen Garbage Collector, der für den Speicher zuständig ist. Deswegen gibt es auch keine wirklichen Destruktoren mehr. Und ein Befehl wie Move, der "wild" im Speicherherumschreibt, ist in einer Managed Environment nicht erlaubt und auch durch die MSIL (Assembler für die virtuelle Maschine) gar nicht möglich.

_________________
Ist Zeit wirklich Geld?
Passer Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Fr 15.10.04 21:30 
Danke, das hat mir weitergeholfen, sowas ähnliches hatte ich mir schon fast gedacht.

Ne kleine Frage bezüglich Delphi 2005:
BEsteht da die Hoffnung auf eine Delphi 7 Kompatibilität oder ists eher ein Delphi 8 Update???


MfG
Passer
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Sa 16.10.04 01:13 
Delphi 2005 enthält ein Delphi Win32 und ein Delphi.NET. Delphi 2005 ist also ein "Update" für Delphi 7 und ein Update für Delphi 8.

_________________
Ist Zeit wirklich Geld?
sakura
ontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 137

W2KS, W2K3S
D1Pr, D3Pr, D4Pr, D5E, D7A, D8A, D2005A
BeitragVerfasst: Di 19.10.04 17:17 
AndyB hat folgendes geschrieben:
Delphi 2005 enthält ein Delphi Win32 und ein Delphi.NET. Delphi 2005 ist also ein "Update" für Delphi 7 und ein Update für Delphi 8.

und ein Update für den C#Builder 1 :-)

Kurz in Delphi 2005 wirst Du all Deine alten Projekte von Delphi 1-8 öffnen können, sofern Du auch alle Erweiterungen für Delphi 2005 hast, die Du in den alten Projekten genutzt hast.

:welcome:

_________________
Das Lächeln ist die eleganteste Art dem Gegner die Zähne zu zeigen.
Borland SE
Passer Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 19.10.04 20:20 
Danke für die Antworten.

Irgendwie empfinde ich Delphi 8 als Abzocke seitens Borland.

für Delphi 7 haben wir zum Glück noch eine Lizenz gehabt. Auf den InstallationsCDs habe ich gar nicht nachgeguckt, mich hat nur gewundert, dass die englische Version eine, die deutsche 2 CDs hatte.

MfG
Passer
AndyB
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1173
Erhaltene Danke: 14


RAD Studio XE2
BeitragVerfasst: Di 19.10.04 21:02 
Passer hat folgendes geschrieben:
Irgendwie empfinde ich Delphi 8 als Abzocke seitens Borland.

Man sollte sich vielleicht vorher informieren, was Delphi 8 ist und nicht weil alle vorhergehenden Delphi Versionen abwärtskompatibel sind dies als gegeben voraussetzen. :wink:

_________________
Ist Zeit wirklich Geld?
Passer Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Di 19.10.04 21:11 
Nachher ist man immer schlauer...

aber allein die Tatsache, dass Delphi 8 ziemlich zwischengeschoben wirkt und in V9 ja wieder alles "beim alten" ist, wirkt auf mich fast wie eine ziemlich geldgierige Strategie von Borland.