Seite 2 von 2 « Erste 12
Ergebnis 21 bis 31 von 31

Inno Setup - Mehrfache Registry Abfrage

  1. #21 Zitieren
    Lehrling Avatar von pcblizzard
    Registriert seit
    Mar 2007
    Ort
    München
    Beiträge
    22
    Code:
    function GetRegistryPath(DefaultPath: string): string;
    begin
    found1 := RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\GOG.com\Games\1438074791', 'PATH', Result1);
    found2 := RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Max-Design\ANNO1503', 'GAMEPATH', Result2);
    
    Result := ExpandConstant(DefaultPath);
    if (found1) then Result := Result1;
    if (found2) then Result := Result2;
    end;
    Du meinst so? Dann gibt er mir Unknow identifier "found1" Fehler aus.
    pcblizzard ist offline

  2. #22 Zitieren
    Retro Micky Avatar von Blue Force
    Registriert seit
    May 2009
    Beiträge
    26.192
    Zitat Zitat von pcblizzard Beitrag anzeigen
    Code:
    function GetRegistryPath(DefaultPath: string): string;
    begin
    found1 := RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\GOG.com\Games\1438074791', 'PATH', Result1);
    found2 := RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Max-Design\ANNO1503', 'GAMEPATH', Result2);
    
    Result := ExpandConstant(DefaultPath);
    if (found1) then Result := Result1;
    if (found2) then Result := Result2;
    end;
    Du meinst so? Dann gibt er mir Unknow identifier "found1" Fehler aus.
    Ja so meinte ich es. Anscheinend mußt man neue Variablen erst deklarieren.
    Füge das mal vor BEGIN ein:
    Code:
    var
      found1,found2: boolean;
      Result1,Result2: string;
    1 2 3 4 5
    Blue Force ist offline

  3. #23 Zitieren
    Lehrling Avatar von pcblizzard
    Registriert seit
    Mar 2007
    Ort
    München
    Beiträge
    22
    Wie genial, das war's! Extrem vielen Dank an Euch beiden!
    pcblizzard ist offline

  4. #24 Zitieren
    Lehrling Avatar von pcblizzard
    Registriert seit
    Mar 2007
    Ort
    München
    Beiträge
    22
    Hm... also das klappt wie gesagt wunderbar aber jetzt gibt es kein Splash-Screen bevor der Installer startet

    Code:
    [Code[
    procedure ShowSplashScreen(p1:HWND;p2:string;p3,p4,p5,p6,p7:integer;p8:boolean;p9:Cardinal;p10:integer); external 'ShowSplashScreen@files:isgsg.dll stdcall delayload';
    
    procedure InitializeWizard();
    begin
      ExtractTemporaryFile('Splash.png');
      ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}\Splash.png'),1000,1500,1000,0,255,True,$FFFFFF,10);
    end;
    Wobei nur das Bild nicht angezeigt wird, denn die Zeit die der Installer dann zum starten benötigt lässt darauf schließen, dass das Bild schon angezeigt wird, nur unsichtbar.

    Dazu sollte man sagen, dass ich *.png benutze und das Problem da auftritt, beim *.bmp-File mit diesem Code geht es

    Code:
    var Splash  : TSetupForm;
    
    function InitializeSetup(): Boolean;
    var
      BitmapImage1 : TBitmapImage;
    begin
      Splash := CreateCustomForm;
      Splash.BorderStyle := bsNone;
    
      BitmapImage1 := TBitmapImage.Create(Splash);
      BitmapImage1.AutoSize := True;
      BitmapImage1.Align := alClient;
      BitmapImage1.Left := 0;
      BitmapImage1.Top := 0;
      BitmapImage1.stretch := True;
      BitmapImage1.Parent := Splash;
    
      ExtractTemporaryFile('Splash.bmp');
      BitmapImage1.Bitmap.LoadFromFile(ExpandConstant('{tmp}') + '\Splash.bmp');
    
      Splash.Width := BitmapImage1.Width;
      Splash.Height := BitmapImage1.Height;
      Splash.Center;
      Splash.Show;
    
      BitmapImage1.Refresh;
    
      Sleep(2000)
    
      Result := True;
    end;
    
    procedure InitializeWizard();
    begin
      Splash.Close;
    end;
    Wobei im "Originalcode" die "isgsg.dll" angegeben ist und im zweiten nicht (habe aber auch keine Idee wo ich die Datei dann angeben müsste).
    pcblizzard ist offline

  5. #25 Zitieren
    Retro Micky Avatar von Blue Force
    Registriert seit
    May 2009
    Beiträge
    26.192
    Habe keine Ahnung wie man Splashscreens erstellt, ich sehe nur 2 Fehler:
    oben steht [CODE[
    und nach sleep(2000) gehört ein Semikolon.
    1 2 3 4 5
    Blue Force ist offline

  6. #26 Zitieren
    Lehrling Avatar von pcblizzard
    Registriert seit
    Mar 2007
    Ort
    München
    Beiträge
    22
    Das [ war jetzt nur hier für's Forum, normal ist es richtig rum (])
    pcblizzard ist offline

  7. #27 Zitieren

    Batmanistrator
    Avatar von Thoronador
    Registriert seit
    Jul 2005
    Ort
    Morrowind, Vvardenfell-Distrikt
    Beiträge
    20.403
    Zitat Zitat von pcblizzard Beitrag anzeigen
    Dazu sollte man sagen, dass ich *.png benutze und das Problem da auftritt, beim *.bmp-File mit diesem Code geht es

    Code:
    var Splash  : TSetupForm;
    
    function InitializeSetup(): Boolean;
    var
      BitmapImage1 : TBitmapImage;
    begin
      ...
    InnoSetup nutzt zum Scripten Delphi als Sprache, und es ist schon ein paar Jahre her, dass ich die Sprache das letzte Mal aktiv genutzt habe.
    Das grundsätzliche Problem ist, dass hier zum Laden der Bilddatei die Klasse TBitmapImage genutzt wird, und diese Klasse kann - wie der Name schon erahnen lässt - nur Bitmaps (*.BMP) laden. Für PNG-Dateien benötigt man eine andere Klasse. Ich bin mir nicht sicher, wie diese Klasse heißt, aber probier's mal mit TPngImage oder mit TGraphic als allgemeine Klasse für Bilder. Wobei ich mir nicht sicher bin, ob TGraphic nicht abstrakt ist damit nicht instanziiert werden kann.
    Thoronador ist offline

  8. #28 Zitieren
    General Avatar von Dada
    Registriert seit
    Jan 2007
    Ort
    Krefeld
    Beiträge
    3.729
    Eine Spontanrecherche hat ergeben, dass PNG's überhaupt nicht unterstützt werden...
    Dada ist offline

  9. #29 Zitieren
    Lehrling Avatar von pcblizzard
    Registriert seit
    Mar 2007
    Ort
    München
    Beiträge
    22
    @Thoronador: Bei TGraphic gibt er mir ein "Invalid number of parameters" Fehler raus und bei "TPngImage" eine "Unknown type 'TPngImage'" Fehlermeldung.

    So wichtig wäre es auch nicht mit dem Splash-Screen, ist eher eine kleine Spielerei meinerseits, einen Nutzen hat das "Feature" keinen.
    pcblizzard ist offline

  10. #30 Zitieren

    Batmanistrator
    Avatar von Thoronador
    Registriert seit
    Jul 2005
    Ort
    Morrowind, Vvardenfell-Distrikt
    Beiträge
    20.403
    Zitat Zitat von pcblizzard Beitrag anzeigen
    @Thoronador: Bei TGraphic gibt er mir ein "Invalid number of parameters" Fehler raus und bei "TPngImage" eine "Unknown type 'TPngImage'" Fehlermeldung.
    War auch nur eine Vermutung.

    Zitat Zitat von Dada Beitrag anzeigen
    Eine Spontanrecherche hat ergeben, dass PNG's überhaupt nicht unterstützt werden...
    Beziehst du dich darauf? http://news.jrsoftware.org/news/inno.../msg23217.html
    Man könnte es ja immer noch mit 32-Bit-Bitmaps mit Alphakanal probieren. Diese werden wohl seit InnoSetup 5.5.7 unterstützt: http://www.jrsoftware.org/files/is5-whatsnew.htm
    The WizardImageFile and WizardSmallImageFile [Setup] section directives now support 32 bit bitmap files with an alpha channel. Use the new WizardImageAlphaFormat [Setup] section directive to specify if the bitmap file has its red, green and blue channel values premultiplied with the alpha channel value or not.
    Thoronador ist offline

  11. #31 Zitieren
    General Avatar von Dada
    Registriert seit
    Jan 2007
    Ort
    Krefeld
    Beiträge
    3.729
    Zitat Zitat von Thoronador Beitrag anzeigen
    Eigentlich auf eine Unterhaltung bei StackExchange. Frag mich grade aber nicht mehr welche, finde sie nicht mehr Kann auch sein, dass die etwas älter ist
    Dada ist offline

Seite 2 von 2 « Erste 12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •