AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Mit UpdateResource mehrere Strings schreiben...
Thema durchsuchen
Ansicht
Themen-Optionen

Mit UpdateResource mehrere Strings schreiben...

Ein Thema von Ganymed · begonnen am 30. Jun 2003
Antwort Antwort
Ganymed

Registriert seit: 11. Jun 2003
Ort: Hameln
56 Beiträge
 
Delphi 7 Architect
 
#1

Mit UpdateResource mehrere Strings schreiben...

  Alt 30. Jun 2003, 15:14
Hallo!

Wie muss ich die Parameter für UpdateResource gestalten, damit ich mehrere Strings in die Resource schreiben kann?

Folgender Code funktioniert wunderbar für einen einzelnen String:
Delphi-Quellcode:
function TAnimalSelectionForm.WriteDataToExe: boolean;
var
  hExeFile: THandle;
  sBuffer: WideString;
  pResourceID: PChar;
  iDataSize: word;
begin
  pResourceID := MakeIntResource(CONST_RESOURCE_NAME_INDEX);

  // Im Buffer ist das erste Zeichen die Länge des Strings,
  // gefolgt vom eigentlichen String (Unicode)
  sBuffer := Chr(Length(sValue)) + sValue;

  // Fragt mich nicht, warum die Größe so bestimmt wird,
  // aber es ist so.
  iDataSize := Length(sBuffer) *2 +1;

  hExeFile := BeginUpdateResource(PChar(sExeFileName), false);
  if hExeFile <> 0 then
  begin
    try
      Result := UpdateResource(hExeFile, RT_STRING, pResourceID, LANG_NEUTRAL, PWideChar(sBuffer), iDataSize);
      if not Result
      then MessageDlg(RES_ERR_COUND_NOT_WRITE, mtError, [mbOK], 0);
    finally
    end;
  end
  else Result := false;
  EndUpdateResource(hExeFile, false);

end;
Nur wie müssen Parameter für mehrere Strings gestaltet werden? Das ist nämlich recht blöde geregelt, da Strings als Resourcen immer in Gruppen von bis zu 16 Stück gespeichert sind...
  Mit Zitat antworten Zitat
Antwort Antwort


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 20:13 Uhr.
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