Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#21

AW: Ein Panel an eine Instanz einer Klasse TBall übergeben

  Alt 11. Mär 2022, 13:23
Hier mein Project
Wenn du den Pfad zur Konfigurationsdatei inklusive der Ressourcen Ordner falsch angibst wird das nix.
Der Pfad in dem die Exe kompiliert wird ist ..\bin dort müssen die Ordner Skin und SpriteRes enthalten sein inklusive der SK_Aero.dll.

Ist das nicht der fall wird ein exception geworfen beim Debuggen und zwar
raise Exception.Create('Skin Config invalid or not available!');


weil die Konfiguration nicht gefunden wird.
Schau doch einfach mal worauf dieser Pfad zeigt.
Delphi-Quellcode:
      DefSkin := BounceIni.ReadString('SkinPath', 'Skin', ExtractFilePath(ParamStr(0))
          + 'Skins\Blue\Bounce.ske');
EDIT:
Machen wir es einfacher.

lösche das in der uIni!
WriteString('SkinPath', 'Skin', WideString(ExtractFileDir(SKAERO_CONFIG_GetSkinFol der)
+ '\Bounce.ske'));

ändere das in uMain
Delphi-Quellcode:
      InitPath;
      DefSkin := BounceIni.ReadString('SkinPath', 'Skin', ExtractFilePath(ParamStr(0))
          + 'Skins\Blue\Bounce.ske');
      BounceIni.Free;
zu
Delphi-Quellcode:
 
DefSkin := ExtractFileDir(ParamStr(0)) + '\Skins\Blue\Bounce.ske';
lösche
Zitat:
'C:\Users\BrewIdeas\AppData\Roaming\BrewIdeas\Boun ce\Bounce.ini'
und gut ist...

Das Problem ist wenn man den Pfad zur Konfigurationsdatei in der INI speichert und du das Projekt nach dem ersten Start
anschließend von einem anderen Pfad ausführst und der alte Pfad zur Ini (siehe erster Start) nicht mehr existiert wirft die Anwendung ein Exception.
Deshalb habe ich die Speicherung des Pfad jetzt mit diesen Änderungen aus der INI herausgenommen.

Geändert von venice2 (11. Mär 2022 um 13:58 Uhr)
  Mit Zitat antworten Zitat