Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Projekt portierung von RAD 2009 auf RAD XE4 (https://www.delphipraxis.net/174939-projekt-portierung-von-rad-2009-auf-rad-xe4.html)

MarkusB 20. Mai 2013 12:01

Projekt portierung von RAD 2009 auf RAD XE4
 
Hallo @all!

Ich versuche ein mit CodeGear RAD Studio 2009 erstellten Projekt in Umgebung der RAD Studio XE4 zu erstellen.
Kompilierung geht. Der Linker meldet folgender Fehler:

„[ilink32 Error] Fatal: Unable to open file WIDESTRINGS.OBJ.“

Habe nach dieser Datei gesucht und nicht gefunden. Also kein Wunder, dass sie nicht geöffnet werden kann.
Hat das was mit Schreibrechten zu tun oder damit, dass RAD XE4 vollständig auf Unicode aufbaut ist und die ältere RAD Version nicht?

Ich weiß nicht was die Sache ist.

Weiß jemand, wie ich den Fehler beseitige?

Viele Grüße
Markus

mkinzler 20. Mai 2013 12:07

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
Überprüfe einmal dein Projekt auf die Einbindung

jbg 20. Mai 2013 12:11

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
ilink32 klingt nach C++ Code. Hast du etwa ein C++ Projekt in der Projektgruppe?

Die Unit heißt seit XE2 nicht mehr "WideStrings" sondern "System.WideStrings".

Insider2004 20. Mai 2013 12:17

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
Zitat:

Zitat von jbg (Beitrag 1215823)

Die Unit heißt seit XE2 nicht mehr "WideStrings" sondern "System.WideStrings".

Das ist egal. Wenn er die Aliase nicht verstellt hat, braucht er an den Unitnamen nichts ändern.

jbg 20. Mai 2013 12:32

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
Zitat:

Zitat von Insider2004 (Beitrag 1215825)
Das ist egal.

Das gilt für den Delphi Compiler. Hier ist aber irgendwie der C++ Linker im Spiel. Und ob der die Default Unit Scopes mitbekommt, da bin ich mir nicht so sicher.

Bernhard Geyer 20. Mai 2013 13:18

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
Widestrings hört sich nach einer Unit an die schon seit Jahren Ihr Zuhause in der JCL hat und mit D2009 überflüssig ist.
Du solltest vor einer Portierung mal die verwendeten Bibliotheken entrümpeln.

jbg 20. Mai 2013 14:14

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1215830)
Widestrings hört sich nach einer Unit an die schon seit Jahren Ihr Zuhause in der JCL hat.

Das wäre "JclUnicode". Die RTL WideStrings Unit wurde mit Delphi 2007 eingeführt, als die DB Unit Unicode-Unterstütztung mittelts WideString bekam.

Bernhard Geyer 20. Mai 2013 17:32

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
Zitat:

Zitat von jbg (Beitrag 1215832)
Zitat:

Zitat von Bernhard Geyer (Beitrag 1215830)
Widestrings hört sich nach einer Unit an die schon seit Jahren Ihr Zuhause in der JCL hat.

Das wäre "JclUnicode". Die RTL WideStrings Unit wurde mit Delphi 2007 eingeführt, als die DB Unit Unicode-Unterstütztung mittelts WideString bekam.

AFAIK hieß die Unit bevor sie zur JCL gestoßen ist Widestrings.pas.

MarkusB 20. Mai 2013 17:39

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo @all!

Vielen Dank für Eure prompten Antworten.

Das Projekt ist ein C++Builder Projekt deswegen ist auch der c++ Linker im Spiel.

Ich habe ein Bischen weiter geforscht und ein Verwis auf WideStrings.hpp in Datei unEntnahmeliste.obj gefunden (siehe Anhang). unEntnahmeliste.cpp ist ein Teil des Projektes und beinhaltet Form mit mehreren Komponenten (under anderem auch FastReport-Komponenten).

In Installation der RAD 2009 befindet sich die WideStrings.hpp im Verzeichniss include\vcl und ist 11.341-Bytes groß. In Installation RAD XE4 dagegen habe ich sie im Verzeichnis include\osx\trl und \include\windows. In beiden Verzeichnissen ist sie 35-Byte groß (also sehr klein).

Der Text "Frx" (siehe Anhang) deutet meiner Meinnung nach auf FastReport auf.
Kann es sein, dass das Problem was mit FastReport zu tun hat?

Viele Grüße,
Markus

jbg 20. Mai 2013 20:29

AW: Projekt portierung von RAD 2009 auf RAD XE4
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1215839)
AFAIK hieß die Unit bevor sie zur JCL gestoßen ist Widestrings.pas.

Nope, die hieß Unicode.pas (http://www.lischke-online.de/index.p...nicode-library)



Zitat:

Ich habe ein Bischen weiter geforscht und ein Verwis auf WideStrings.hpp in Datei unEntnahmeliste.obj gefunden (siehe Anhang). unEntnahmeliste.cpp ist ein Teil des Projektes und beinhaltet Form mit mehreren Komponenten (under anderem auch FastReport-Komponenten).
Die WideStrings.hpp Datei enthält in XE4 nur ein "#include "System.WideStrings.hpp", ist also eine Umleitung für "alten" Code.
Da in C/C++ der Header-Dateiname nichts mit dem Linker zu tun hat, vermute ich, dass da irgendwo ein "#pragma link "WideStrings" " steht, dass zu einem "System.WideStrings" umgebaut werden muss.


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