Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   LoadResource lädt 2 Resourcen statt nur einer / falsches Encoding (https://www.delphipraxis.net/190010-loadresource-laedt-2-resourcen-statt-nur-einer-falsches-encoding.html)

RandomDD 19. Aug 2016 18:43


LoadResource lädt 2 Resourcen statt nur einer / falsches Encoding
 
Mit folgendem Code lade ich eine Resource. Die Resource ist vom Typ RCDATA und enthält eine einfache HTML-Datei.

Delphi-Quellcode:
HTMLContent := PAnsiChar(LockResource(LoadResource(hInstance, FindResource(hInstance, PWideChar('Datei_1'), RT_RCDATA))));


Das hier ist meine RC-Datei
Delphi-Quellcode:
Datei_0 RCDATA ".\Datei_0.txt"
Datei_1 RCDATA ".\Datei_1.htm"
Datei_2 RCDATA ".\Datei_2.htm"
Datei_3 RCDATA ".\Datei_3.htm"
Das Problem ist jetzt, dass komischerweise bei obigem Code Datei 1 UND 2 geladen werden und ich habe keine Ahnung warum?

Zacherl 19. Aug 2016 19:05

AW: LoadResource lädt 2 Resourcen statt nur einer
 
Zeig mal bisschen mehr Code. Ich vermute, dass die Resourcen einfach zufällig hintereinander ohne Nullterminierung im Speicher stehen und du die Länge nicht korrekt berücksichtigst.

RandomDD 19. Aug 2016 19:17

AW: LoadResource lädt 2 Resourcen statt nur einer
 
Genau das war auch der Fehler habe ich vor ein paar Sekunden gesehen. Schuld war Notepad++ und ein falsches Dateiformat.

Wo ich gerade dabei bin, "Michael Puff"s Lösung gefällt mir viel besser als mein wildes herum-gecaste:
http://www.michael-puff.de/Programmi...Resource.shtml

Luckie 19. Aug 2016 21:51

AW: LoadResource lädt 2 Resourcen statt nur einer
 
Gut, dass sich das noch alles auf meiner HP befindet. Aber bedenke, damals war Unicode für Delphi noch in weiter Ferne.

Was war denn das "falsche" Format?

RandomDD 19. Aug 2016 22:15

AW: LoadResource lädt 2 Resourcen statt nur einer
 
Ja das mit dem Unicode ist tatsächlich ein Problem. Denn Selbst Umlaute gehen verloren.

Luckie 19. Aug 2016 22:30

AW: LoadResource lädt 2 Resourcen statt nur einer
 
Welche Delpi Version nutzt du?

RandomDD 19. Aug 2016 22:32

AW: LoadResource lädt 2 Resourcen statt nur einer
 
Ich benutze zum Glück schon eine etwas neuere Version => XE2.

Wenn ich meine Dateien in ANSI umwandle, werden Umlaute korrekt angezeigt. Aber das Umwandeln ist ab und zu störrig:lol:

Luckie 19. Aug 2016 22:42

AW: LoadResource lädt 2 Resourcen statt nur einer
 
XE2 sollte doch schon komplett Unicode sein. Ich sehe da kein Problem.

RandomDD 19. Aug 2016 22:49

AW: LoadResource lädt 2 Resourcen statt nur einer
 
Das wird wohl ewig ein Geheimnis meines COmputers bleiben warum es nicht funktioniert :lol:

In meiner Resource-Datei stehen wie Wert wie oben beschrieben und in einer Datei kann z.B. folgendes sein
Zitat:

<p>Lorem Ipsum Test ÄÖÜ é è</p>
Die RC-Datei wird ganz normal mit brcc32.exe in eine RES-Datei umgewandelt.

Jetzt benutze ich
Delphi-Quellcode:
LoadTextFromResourceByName()
und alle Umlaute sind kaputt.

Luckie 19. Aug 2016 23:04

AW: LoadResource lädt 2 Resourcen statt nur einer
 
Da machst du noch irgendwo was falsch. Zeig mal mehr Code.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz