![]() |
AW: Programm Build - dynamisch erzeugen
Diese Lösung scheint mir doch die einfachste.
Soweit ich es getestet habe, schein es auch zu funktionieren. Danke für den Link. |
AW: Programm Build - dynamisch erzeugen
Nun wollte ich die andere Möglichkeit mit UpdateResource noch ausprobieren.
Wie man damit eine Resource in einer exe-Datei ändert habe ich schon herausgefunden. Wie / wo kann ich diese Resource erstellen, die in dem zu ändernden Programm enthalten sind ? Edit: Jetzt weiß ich nicht wo der Fehler steckt. Ich habe eine Resource in Programm B per lrs-file eingebunden. Diese kann ich im Programm B selber abfragen:
Delphi-Quellcode:
(Die Resource heißt text)
LazarusResources.Find('text').Value;
Ich hoffte, diese mit Programm A ändern zu können, hier mein Code:
Delphi-Quellcode:
folgende Parameter verwende ich:
function SetRes(filename, resname, resvalue: string): boolean;
var hUpdate: THandle; Size: DWord; begin hUpdate := BeginUpdateResource(PChar(filename), True); if (hUpdate <> 0) and (hUpdate <> INVALID_HANDLE_VALUE) then begin try Size := Succ(Length(resvalue)) * SizeOf(char); Result := UpdateResource(hUpdate, RT_RCDATA, PChar(resname), 0, PChar(resvalue), Size); finally EndUpdateResource(hUpdate, False); end; end; end; Syntax:
Delphi-Quellcode:
Der einzige Unterschied, den ich in B festmachen kann, ist, dass das Design anders ist; ein Button wird nicht mehr blau sondern eher gräulich ist, es erinnert an win98(?).
SetRes('ProgrammB.exe','text','Ein Test...')
Edit^2: habe den namen auch mal von "text" umbenannt, aber es funktioniert nicht! Vielen Dank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:05 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 by Thomas Breitkreuz