AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Umstellung D2007 auf Delphi XE

Ein Thema von frank1208 · begonnen am 16. Okt 2010 · letzter Beitrag vom 4. Jan 2017
Antwort Antwort
frank1208

Registriert seit: 12. Mär 2009
13 Beiträge
 
#1

Umstellung D2007 auf Delphi XE

  Alt 16. Okt 2010, 13:14
Delphi-Version: XE
Hallo Anwesende,
kann mir vielleicht jemand weiter helfen?
ich versuche meine alten Objekte (die bis Delphi 2007 noch wunderbar liefen) nach Delphi XE zu portieren. Leider habe ich schon ein grundsätzliches Problem:

Delphi-Quellcode:
unit meinPackage;

interface

type TMeinObjekt = object

         end;

implementation

end.
Ich erhalte nun die Fehlermeldung:
E1025 Sprach-Feature wird nicht unterstützt: 'Object'

Schiebe ich den Typ in den Implementationteil,
Delphi-Quellcode:
unit meinPackage;

interface

implementation

type TMeinObjekt = object

         end;

end.
klappt es ohne Probleme, was mich natürlich nicht weiterbringt.
Erstelle ich eine Anwendung, dann kann ich die Typ-Definition übrigens in den Interface legen.
Gibt es vielleicht igendeine neue Compiler-Directive?

Für einen Hinweis wäre ich sehr dankbar.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Umstellung D2007 auf Delphi XE

  Alt 16. Okt 2010, 13:22
Moin Frank,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

So wie es aussieht, wirst Du wohl auf class umstellen müssen.

Schon in der Hilfe von D7 (nicht 2007 ) steht bei Objekttypen der Hinweis:

Zitat:
Object types are supported for backward compatibility only. Their use is not recommended.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Umstellung D2007 auf Delphi XE

  Alt 16. Okt 2010, 13:24
Object ist aber schon lange veraltet. Nimm mal class stattdessen.

[edit] Na toll, erst antwortet der Server nicht, und dann kommt kein roter Kasten. [/edit]
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
frank1208

Registriert seit: 12. Mär 2009
13 Beiträge
 
#4

AW: Umstellung D2007 auf Delphi XE

  Alt 16. Okt 2010, 13:33
Erst mal danke für die schnelle Antwort.
Sicher ist Object schon lange veraltet, aber wie heißt es so schön: 'Never change ...'.
Genau diese Umstellung wollte ich eigentlich vermeiden, weil so, außer den materiellen Umstellungskosten (neue Updates von Drittanbietern), auch noch der Zeitaufwand für solche nicht geplante Umstellungen drauf geht.
Aber da muß man wohl durch.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.535 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Umstellung D2007 auf Delphi XE

  Alt 16. Okt 2010, 13:35
Ich fürchte, das wird vermutlich das kleinere Deiner Probleme sein, die Umstellung auf Unicode dürfte ggf. mehr Zeit in Anspruch nehmen, je nachdem, wie vorausschauend programmiert wurde.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
frank1208

Registriert seit: 12. Mär 2009
13 Beiträge
 
#6

AW: Umstellung D2007 auf Delphi XE

  Alt 16. Okt 2010, 13:57
Ich will's nicht hoffen.

Ich hatte meine Objecte (ist leider meine Datenbasis, noch aufbauend auf den guten alten ENZ-Tools) schon am Laufen, als ich Sie nur in einer VCL-Anwendung eingebunden hatte.
Die ganzen WideString-Anbindungen für System-Funktionen beruhen zum Teil nur auf einer Zuweisung der entsprechenden Procedure mit dem Abschluß W (z.B.: CreateFile in DXE CreateFileW und in/bis 2007 CreateFileA). Also biegt man sich das schnell wieder zurecht.

Nur, wenn ich halt die Tools in ein Package einbinden will, meckert XE rum.
Na mal sehen, ob es noch einen genialen Einfall gibt.

Melde mich, wenn ich einen Einfall hatte oder in den glorreichen Weiten was gefunden habe. Muß jetzt erst mal zum Fußball.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.097 Beiträge
 
Delphi 12 Athens
 
#7

AW: Umstellung D2007 auf Delphi XE

  Alt 16. Okt 2010, 14:07
Das Problem ist nicht vieles Unter XE zum laufen zu bekommen.

Man könnte ganz einfach vieles von String>AnsiString PChar>PAnsiChar WinApi>WinApiA umschreiben, aber bei den Delphi-Funktionen wird das schon schwiriger, da diese oftmals nur noch als Unicode existieren.
Es gibt z.B. auch keine TAnsiStringList.

Und wenn man schon Unicode unter XE (2009+) hat (sonst lönnte man ja auch beim 2007 bleiben ), dann wäre es auch praktisch dieses zu nutzen, weswegen dann nicht einfach nur dem Anpassen der Typen und Funktionsaufrufe genüge getan ist, sondern man teilweise auch die Programmlogik anpassen müßte (vorallem wenn Speicher direkt manipuliert wird. (wilde Pointeroperationen, Move, CopyMemory, ReadFile usw.)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.481 Beiträge
 
Delphi 10.1 Berlin Professional
 
#8

AW: Umstellung D2007 auf Delphi XE

  Alt 16. Okt 2010, 14:22
ich versuche meine alten Objekte (die bis Delphi 2007 noch wunderbar liefen) nach Delphi XE zu portieren.
Wenn du keine Vererbung bei "object" nutzt, kannst das auf "record" umstellen, die mittlerweile auch Methoden haben dürfen. Auf die alten objects würde ich ganz verzichten, vor allem weil die neueren Compiler fehlerhaften Code generieren, wenn man ein MAKE statt einem BUILD macht.
  Mit Zitat antworten Zitat
Aremo

Registriert seit: 24. Nov 2009
Ort: Aachen
9 Beiträge
 
Delphi 10.1 Berlin Professional
 
#9

E1025 Sprach-Feature nicht bekannt: object - AW: Umstellung D2007 auf Delphi XE

  Alt 8. Sep 2016, 20:10
Umstellen der Sourcen ist nicht zwingend erforderlich.

Die Fehlermeldung "E1025 - Sprach-Feature nicht bekannt: object" erscheint, wenn man vom Compiler zusätzlich C/C++ - Ausgabedateien (Headerdateien etc.) erzeugen läßt, da C/C++ wohl keine Entsprechung zum Object kennt.

Abschalten dieser Meldung unter: Projekt -> (Standard-) Optionen -> Delphi Compiler -> Ausgabe C/C++ -> Erzeugung der C/C++ Datei, wähle: Nur DCUs erzeugen


http://www.delphigear.cn/0/7548/go.aspx

.hpp Header Files:
Starting with XE, and continuing with XE2, the Delphi compiler outputs .hpp header files by default. This is a change from pre-XE releases. For example, if you attempt to import a DLL by ordinal value, the compiler reports "E1025 Language feature not supported" because .hpp generation is not compatible with importing a DLL by ordinal value. However, you can import a DLL by ordinal value if you turn off .hpp generation. Go to the Project > Options > Output - C/C++ page, and for the option C/C++ Output file generation, select a value that does not include headers, such as "Generate DCUs only."
Gottfried Arens - Soft-dynamics.de

Geändert von Aremo ( 8. Sep 2016 um 20:14 Uhr)
  Mit Zitat antworten Zitat
AxelB

Registriert seit: 2. Jan 2012
1 Beiträge
 
#10

AW: Umstellung D2007 auf Delphi XE

  Alt 4. Jan 2017, 12:54
Danke für diesen tollen Hinweis!
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 11:46 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