?
nachdem ich mir sicher war, dass meine Sourcedateien in Ordnung sind, habe ich bei den eingebundenen Komponenten (AsyncPro, Jedi, QuickReport etc.) bei sämtlichen vorhandenen Sourcedateien (.pas) den uses-Abschnitt geprüft. Dort muss bei Win32 "Windows" stehen anstelle von "WinProcs, WinTypes".
Wenn im uses-Abschnitt bei einer WIN32-Compilation WinProcs oder WinTypes steht, verlangt der Linker nach der windows.obj!
Bei QuickReport habe ich dann in der Datei qrpexpr.pas den Fehler gefunden.
Original:
uses
WinProcs, WinTypes,
Dialogs, DBTables, QRCtrls, CSProp,
Forms, Classes, SysUtils, QRExpBld, QRPrntr,QuickRpt,
{IFDEF WIN32}
Registry, Windows,
{else}
Winprocs, Wintypes,
{$ENDIF}
Richtig ist:
uses
Dialogs,DBTables, QRCtrls, CSProp,
Forms, Classes, SysUtils, QRExpBld, QRPrntr, QuickRpt,
{IFDEF WIN32}
Registry, Windows,
{else}
Winprocs, Wintypes,
{$ENDIF}
Die Entwickler haben für den Compiler zwar richtigerweise $IFDEF WIN32 eingefügt, haben aber vergessen, "WinProcs, WinTypes" in der ersten Zeile zu entfernen.
Lösung des Problems:
1. RAD-Studio starten (nicht C++ Builder)
2. qrpexpr.pas ändern
3. die QR-Komponenten deinstallieren (Menü: Komponente => Packages installieren => QuickReport... => Entfernen)
4. Projekt öffnen: QR5RunDXE2.dproj
5. In der Projektverwaltung Rechtsklick auf QR5RunDXE2 und dann "Erzeugen"
6. Projekt öffnen: QR5DesignDXE2.dproj
7. In der Projektverwaltung Rechtsklick auf QR5DesignDXE2 und dann "Installieren"
Anmerkung: Das C++-Package von QR konnte ich zwar installieren, hat aber die bestehenden Reporte "verbogen" und reihenweise Fehler verursacht, deshalb habe ich das Delphi-Package verwendet und mit dem RAD-Studio compliliert und installiert.