Forum: Win32/Win64 API (native code)
by JohannesK,
26. Jul 2011
Ich habe das Problem mittlerweile gelöst - oder umgangen ?
Den Stringtable der Ressource hatte ich über den Visual C- Editor erstellt, als Sprache war "German" angegeben. Das habe ich jetzt umgestellt auf "neutral". Die Fehler sind jetzt bei beiden Zugriffsmethoden weg. Leider verstehe ich immer noch nicht warum :oops:
Es funktioniert also
class function TResourceMeldung.GetOffset(lg:...
Forum: Win32/Win64 API (native code)
by JohannesK,
26. Jul 2011
Ich benutze nur ein Ressourcenfile, hinstance wird nicht explizit zugewiesen, repräsentiert meine Bibliotheksname.res, in W32 ist wie gesagt bisher kein Problem aufgetreten.
Forum: Win32/Win64 API (native code)
by JohannesK,
26. Jul 2011
Weitere Variante die unter W32 funktioniert, aber unter W64 als Ergebnis in buffer nur ??? liefert.
class function TResourceMeldung.GetOffset(lg: integer): integer;
var
buffer : array of Widechar;
ls : integer;
begin
Result := 0;
ls := LoadStringW(hInstance, lg, @buffer, length(buffer));
Forum: Win32/Win64 API (native code)
by JohannesK,
26. Jul 2011
Ich hab' jetzt den Code mal so geändert:
class function TResourceMeldung.GetOffset(lg: integer): integer;
var
buffer : PWidechar;
ls : integer;
begin
Result := 0;
ls := LoadStringW(hInstance, lg, @buffer, length(buffer));
Forum: Win32/Win64 API (native code)
by JohannesK,
26. Jul 2011
Hallo,
ich habe ein Problem mit LoadString in 64-bit Windows.
class procedure TResourceMeldung.GetResMeldung(var ResMeldung: TStringlist; Offset : integer; lang: string);
var
buffer : array of char;
ls : integer;
idx, lng : integer;