![]() |
Fehler beim Erzeugen von Formular: Fehler beim Lesen der Dat
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo.
Ich entwickle derzeit in Turbo Delphi (2006) und habe derzeit ein richtig seltsames Problem bei meinem Projekt bezüglich der Abwärtskompatiblität. Seit kurzem zeigen meine Delphis 5, 6 und 7 folgende Fehlermeldung beim Öffnen des Projektes: "Fehler beim Erzeugen von Formular: Fehler beim Lesen der Datei." Die DFM's sind alle einlesbar und vorhanden, ich verwende keine Drittanbieter-VCLs und Delphi 6 und 7 kennt alle VCL-Eigenschaften. Ich konnte auch nirgends Informationen zu diesem Problem finden. Kompilieren und Arbeiten mit den Forms geht zwar, aber die Meldung stört einfach und sie hat sicherlich einen Grund, wenn scheinbar alle Delphi-Versionen kleiner gleich 7 diese melden. Der Kracher: Ich habe mal alle Formulare gelöscht und das Projekt gespeichert. Beim Öffnen kam die Meldung wieder, obwohl keine Formulare mehr eingebunden :shock: Jetzt habe ich den Code reduziert und herausgefunden, dass diese Meldung nur kommt, wenn die RES-Datei des Projektes beigepackt ist (obwohl nicht zum Linken per {$R} eingebunden!). Ansonsten kommt keine Meldung. Ich habe mal beide Dateien angefügt. Die RES-Datei wurde mit dem Delphi Resource Builder erstellt. Hat irgendjemand eine Lösung für das Problem? Gruß blackdrake EDIT: Hier die RC-Datei, die die RES zusammenbaut:
Delphi-Quellcode:
WindowsXP.xml ist:
MAINICON ICON "Ressourcen\Coder\Icon_1.ico"
100 ICON "Ressourcen\Coder\Icon_2.ico" 101 ICON "Ressourcen\Coder\Icon_3.ico" 102 ICON "Ressourcen\Coder\Icon_4.ico" INFORMATION BITMAP "Ressourcen\Coder\Information.bmp" WARNING BITMAP "Ressourcen\Coder\Warning.bmp" ERROR BITMAP "Ressourcen\Coder\Error.bmp" SCHLOSS BITMAP "Ressourcen\Coder\Schloss.bmp" NOOPEN BITMAP "Ressourcen\Coder\Noopen.bmp" NEXT BITMAP "Ressourcen\Coder\Next.bmp" 1 VERSIONINFO FILEVERSION 4,1,0,0 PRODUCTVERSION 4,1,0,0 FILEOS 0x4 FILETYPE 0x1 { BLOCK "StringFileInfo" { BLOCK "00000000" { VALUE "CompanyName", "ViaThinkSoft\0" VALUE "FileDescription", "(De)Coder 4.1\0" VALUE "FileVersion", "4.1.0.0\0" VALUE "InternalName", "DeCoder4\0" VALUE "LegalCopyright", "© Copyright 2001 - 2007 ViaThinkSoft\0" VALUE "OriginalFilename", "Coder.exe\0" VALUE "ProductName", "(De)Coder\0" VALUE "ProductVersion", "4.1.0.0\0" VALUE "Projektleiter", "Daniel Marschall - www.daniel-marschall.de\0" VALUE "Webseite", "www.viathinksoft.de\0" } } BLOCK "VarFileInfo" { VALUE "Translation", 0x0000 0x0000 } } 1 24 "Ressourcen\Coder\WindowsXP.xml"
Delphi-Quellcode:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity type="win32" name="(De)Coder" version="4.1.0.0" processorArchitecture="X86"/> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/> </dependentAssembly> </dependency> </assembly> |
Re: Fehler beim Erzeugen von Formular: Fehler beim Lesen der
Da behaupte ich einfach mal, dass es Borland/Codegear nicht so hat mit Abwärtskompatibilität.
Man liesst ja überall nur, dass jede Delphi-Version die Dateien einer kleineren Version lesen kann. Dass es aber auch anderst herum gehen soll hab ich noch nirgends offiziell gelesen. Warum willst Du überhaupt zurück zu D7 oder D5? D2006 kann doch mehr und ist komfortabler. |
Re: Fehler beim Erzeugen von Formular: Fehler beim Lesen der
Hallo.
Zitat:
Es handelt sich hierbei um kein Kompatibilitätsproblem von Borland, da die RES nicht mal eingebunden ist, sondern um einen Bug, der in allen Delphi Versionen kleiner gleich 7 vorhanden ist (war). Nachdem ich etwas an der RES-Datei herumgespielt hatte, habe ich den Bug gefunden. Folgendes führt zu der Fehlermeldung (XML-Manifest, Resource ID 24/1):
Delphi-Quellcode:
Und folgendes ist OK (XML-Manifest, Resource ID 24/1):
<assemblyIdentity
type="win32" name="(De)Coder" version="4.1.0.0" processorArchitecture="X86"/>
Delphi-Quellcode:
Die RES Datei muss nur den selben Namen haben, wie die DPR, schon gibt Delphi <= 7 diese irreführende Fehlermeldung aus.
<assemblyIdentity type="win32" name="(De)Coder" version="4.1.0.0" processorArchitecture="X86"/>
Gruß blackdrake |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:42 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