![]() |
Programm hängt bei AddFontResource
Hallo zusammen!
hab jetzt vermehr Probleme mit einem Programm was schon ewig im Einsatz ist. Und zwar installiere ich beim starten des Programms temporär ein paar Schriftarten. Folgender Code:
Delphi-Quellcode:
Das Problem: Auf manchen Rechnern (3 an der Zahl) dauern diese 6 Zeilen 2 Minuten, auf einem anderen Rechner hängt sich mein Programm auf ewig auf! :cry: Auf anderen Rechnern funktioniert der Code problemlos!
Try
AddFontResource(PChar(EXEPath+'Dateien\Verdana.TTF')); AddFontResource(PChar(EXEPath+'Dateien\Webdings.TTF')); AddFontResource(PChar(EXEPath+'Dateien\Wingding.TTF')); AddFontResource(PChar(EXEPath+'Dateien\WINGDNG2.TTF')); AddFontResource(PChar(EXEPath+'Dateien\WINGDNG3.TTF')); SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); except end; Woran kann das liegen? Das Programm bleibt einfach stehen... Hat irgendjemand ne Idee? Gruß, Schubi |
Re: Programm hängt bei AddFontResource
Existieren die Fonts eventuell auf den Problemrechnern schon? Oder allgemeiner gefargt, was unter scheidet die Rechner, auf denen es geht von denen auf denen es so lange dauert bzw. gar nicht geht?
|
Re: Programm hängt bei AddFontResource
Die Fonts sind auf fast allen Rechnern schon installiert, das scheint aber nichts zu machen.
Die Dateien die ich Registrieren will existieren natürlich auch :D Ich hab mal versucht die Fonts zu deinstallieren, aber das hat nichts geholfen. Unterschiede zwischen den Rechnern wüsste ich nicht. Handelt sich um WinXP Prof. Der Rechner wo es garnicht geht wurde erst vor nem Monat neu gemacht, dann lief es ne Weile, und jetzt mit einmal nicht mehr. Auf dem Rechner war das Problem aber vor der Neuinstallation auch schon (da hats aber nur ewig gedauert, ging also dann nach ner minute oder so weiter). Die Neuinstallation war verbunden mit nem Motherboard-Wechsel, also am Board liegts nicht :D Auf Win98 PCs läuft es überall. Probleme macht nur XP |
AW: Programm hängt bei AddFontResource
Nur zur Info, weil wir das selbe Problemchen haben, seit Längerem.
Mein Code prüft allerdings vorher, ob der Font schon installiert ist und wenn, dann wird nichts gemacht. (Screen.Fonts.IndexOf) Bei uns bleibt es im AddFontResourceEx+FR_PRIVATE hängen. Dafür sind auch keine Rechte nötig, welche Probleme rumzicken könnten. Warum es hängen bleibt ... keine Ahnung. Es tritt nicht erkennbar auf Kunden-PCs auf, wo diese Funktion irgendwann verwendet wird. Die Lösung für uns ist das manuelle permanente installieren der Schriftarten. Sollte es beim SendMessage hängen bleiben, dann eventuell so versuchen.
Delphi-Quellcode:
Oder nur das PostMessage, wenn es einem egal ist, wenn die Fonst im Delphi nicht sofort refresht werden. (alternativ PostMessage und SendMessage direkt an das eigene Appliaction.Handle)
if SendMessageTimeout(HWND_BROADCAST, WM_FONTCHANGE, 0, 0, SMTO_NORMAL, 2500, PLongWord(nil)^) = 0 then
PostMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0); |
AW: Programm hängt bei AddFontResource
Ohhh, zufällig will ein Kunde gerade in den Windows-Ereignislogs rausgefunden haben, dass bei ihm MS Office das Laden der Fonts blockiert.
Aber nichts Genaues weiß ich noch nicht. |
AW: Programm hängt bei AddFontResource
Hallo,
es gibt doch diese "Schnellstart" (?) - Leiste von Office. Die hatte ich schon mal per simplen OLE als Problemkind aus dem Autostart ruasgeworfen. Heiko |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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