AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) LoadResource lädt 2 Resourcen statt nur einer / falsches Encoding

LoadResource lädt 2 Resourcen statt nur einer / falsches Encoding

Ein Thema von RandomDD · begonnen am 19. Aug 2016 · letzter Beitrag vom 20. Aug 2016
Antwort Antwort
Seite 1 von 3  1 23   
RandomDD

Registriert seit: 11. Aug 2016
42 Beiträge
 
#1

LoadResource lädt 2 Resourcen statt nur einer / falsches Encoding

  Alt 19. Aug 2016, 18:43
Mit folgendem Code lade ich eine Resource. Die Resource ist vom Typ RCDATA und enthält eine einfache HTML-Datei.

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?

Geändert von RandomDD (20. Aug 2016 um 07:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 19:05
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.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
RandomDD

Registriert seit: 11. Aug 2016
42 Beiträge
 
#3

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 19:17
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
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 21:51
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?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
RandomDD

Registriert seit: 11. Aug 2016
42 Beiträge
 
#5

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 22:15
Ja das mit dem Unicode ist tatsächlich ein Problem. Denn Selbst Umlaute gehen verloren.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 22:30
Welche Delpi Version nutzt du?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
RandomDD

Registriert seit: 11. Aug 2016
42 Beiträge
 
#7

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 22:32
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

Geändert von RandomDD (19. Aug 2016 um 22:35 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 22:42
XE2 sollte doch schon komplett Unicode sein. Ich sehe da kein Problem.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
RandomDD

Registriert seit: 11. Aug 2016
42 Beiträge
 
#9

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 22:49
Das wird wohl ewig ein Geheimnis meines COmputers bleiben warum es nicht funktioniert

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 LoadTextFromResourceByName() und alle Umlaute sind kaputt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie
(Moderator)

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#10

AW: LoadResource lädt 2 Resourcen statt nur einer

  Alt 19. Aug 2016, 23:04
Da machst du noch irgendwo was falsch. Zeig mal mehr Code.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf