Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Delphi Rio 10.3.3 Anwnedung auf Windows 2003 Server

  Alt 8. Jul 2020, 12:03
In Google siehst's so aus, als wenn die DLL nen uraltes TextRenderingZeugs vom Internet Explorer sein könnte (Microsoft DirectX Typography Services),
demnach hätte ich den Fehler eher andersrum gedacht, also dass die DLL im aktuellen Windows fehlt.
Obwohl ... Vieles was ich finde ist ~10 Jahre alt, also könnte dennoch neuer sein, als 2003.

Neuere Delphis (RTL/VCL) nutzen ab und an auch neuere APIs, die in älteren OSen so noch nicht existieren, und demnach laufen sie dort "oft" nicht.
So lange man die problematischen APIs nicht benutzt, gibt es weniger Probleme und es kann dennoch gehn.
Aber keines der "aktuelleren" Delphi (ab XE4) unterstützt offiziell noch das 2003er Windows.
http://docwiki.embarcadero.com/Platf...s/en/Main_Page
http://docwiki.embarcadero.com/RADSt...allation_Notes

Delphi XE (1) wäre eine Version, die das aber noch tut. (Abhängigkeiten von Fremdkomponenten nicht eingeschlossen)
https://edn.embarcadero.com/article/...0774_tocentry3

Alternativ mußt du eben rausbekommen wo und mit welcher API-Funktion die DWrite.dll benutzt wird (Textsuche in PAS/DCU/DLL/BPL/...)
und schauen ob sich das ersetzen/umgehen/entfernen lässt.
Es darf kein Code compilert gelinkt werden, der einen Aufruf von Funktionen dieser DLL enthält. (die Unit darf drin bleiben, aber die aufrufenden Funktionen nirgendwo benutzt werden, womit der Linker es dann weglässt)


Die DLL in einem Windows zum Laufen zu bekommen, wofür sie nicht vorgesehen ist ... da mußt'e vermutlich noch mehrere weitere Abhängigkeiten beheben, falls es überhaupt geht.


[EDIT]
Im Delphi XE ist die DWrite.dll (directwrite.h) in der Unit D2D1.pas vom Direct2D drin, die auch im Delphi XE dann nicht verwendet werden sollte.
C:\program files (x86)\embarcadero\rad studio\8.0\source\rtl\win\D2D1.pas
D2D1 verwendet in rtl_units.pas, Direct2D.pas und z.B. auch vom SynEdit die SynEdit.pas
und dementsprechend auch in vcl_units.pas, sowie vemutlich ebenfalls in rtl150.bpl und vcl150.bpl
$2B or not $2B

Geändert von himitsu ( 8. Jul 2020 um 12:34 Uhr)
  Mit Zitat antworten Zitat