AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen FreePascal FreePascal Programm Build - dynamisch erzeugen
Thema durchsuchen
Ansicht
Themen-Optionen

Programm Build - dynamisch erzeugen

Ein Thema von thomasschaf · begonnen am 12. Mär 2012 · letzter Beitrag vom 13. Mär 2012
Antwort Antwort
Seite 2 von 2     12   
thomasschaf
(Gast)

n/a Beiträge
 
#11

AW: Programm Build - dynamisch erzeugen

  Alt 12. Mär 2012, 18:58
Diese Lösung scheint mir doch die einfachste.
Soweit ich es getestet habe, schein es auch zu funktionieren.

Danke für den Link.
  Mit Zitat antworten Zitat
thomasschaf
(Gast)

n/a Beiträge
 
#12

AW: Programm Build - dynamisch erzeugen

  Alt 13. Mär 2012, 16:01
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:
LazarusResources.Find('text').Value; (Die Resource heißt text)

Ich hoffte, diese mit Programm A ändern zu können, hier mein Code:
Delphi-Quellcode:
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;
folgende Parameter verwende ich:
Syntax: SetRes('ProgrammB.exe','text','Ein Test...') 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(?).

Edit^2: habe den namen auch mal von "text" umbenannt, aber es funktioniert nicht!

Vielen Dank

Geändert von thomasschaf (13. Mär 2012 um 17:42 Uhr) Grund: Informationen hinzugefügt
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:23 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