Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Ein Panel an eine Instanz einer Klasse TBall übergeben (https://www.delphipraxis.net/210154-ein-panel-eine-instanz-einer-klasse-tball-uebergeben.html)

Smiley 11. Mär 2022 11:30

AW: Ein Panel an eine Instanz einer Klasse TBall übergeben
 
@Venice2
Danke für Deine Hilfe Venice2

Das mit den $Region´s kannte ich noch gar nicht.
Tolles Feature um den Quelltext lesbarer (zusammmenklappbar über mehrere Proceduren) zu machen.


Die procedure InitPath verwirrt mich etwas. Die beiden If/else Zweige führen den gleichen Befehl aus, habe ich da etwas übersehen ?
Möglicherweise ein Überbleibsel aus einer Zeit als TiniFile.Create noch nicht automatisch die Ini-Datei angelegt hat?
Code:
procedure InitPath;
begin
  UserAppDataDir := GetSpecialFolder(CSIDL_APPDATA);
  if FileExists(UserAppDataDir +  '\BrewIdeas\Bounce' + '\Bounce.ini') then
    BounceIni := TIniFile.Create(UserAppDataDir + '\BrewIdeas\Bounce' + '\Bounce.ini')
  else
    BounceIni := TIniFile.Create(UserAppDataDir + '\BrewIdeas\Bounce' + '\Bounce.ini');
end;
Hast Du irgend eine Art von Dokumentation zu den wichtigsten Befehle der SKAeroAPI.
Der SourceCode ist schon gut Dokumentiert.
Sonst schreib ich mir dazu etwas um leichter die API verwenden und erklären zu können.
Das verwende ich dann für die Stufe 2 des Ball Projektes für meine Praktikanten.

Das Projekt lässt sich nicht compilieren, da er die Unit Graphics nicht findet, da du da scheinbar deine eigene Graphics.pas benutzt hast um die VCL zu umgehen, nehme ich an.
Was muss dafür noch eingestellt werden im Compiler?
Ist die SKAeroAPI überhaupt dabei? Habe im .pas File eigentlich nur Procedure-Definitionen gesehen, braucht man da noch eine .dcu dazu, die nicht mitgeliefert ist?

venice2 11. Mär 2022 11:48

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

Die beiden If/else Zweige führen den gleichen Befehl aus, habe ich da etwas übersehen ?
Nö ;)
Die if Anweisung kannst du eigentlich entfernen ist nicht nötig.

Zitat:

Das Projekt lässt sich nicht compilieren, da er die Unit Graphics nicht findet
Meine Projekte soweit diese nicht 64Bit sind kompiliere ich mit D2010.

Neuere Delphi Versionen benötigen diesen Aufruf.
VCL.Graphics (Ja hier verwende ich noch die VCL aber nicht für einfach Funktionen aus der StrUtils.pas, Forms etc..)

Zitat:

Hast Du irgend eine Art von Dokumentation zu den wichtigsten Befehle der SKAeroAPI.
Nein. Ich habe die Funktionen Prozeduren so Namentlich angepaßt das diese eigentlich selbsterklärend sind.

Zitat:

Ist die SKAeroAPI überhaupt dabei? Habe im .pas File eigentlich nur Procedure-Definitionen gesehen, braucht man da noch eine .dcu dazu, die nicht mitgeliefert ist?
Ja im Ordner _api eine *.dcu wird nicht benötigt diese wird beim kompilieren erstellt.

In uControls kannst du sehen wie bspw. ein Button erstellt wird.
Im Grunde ist das vorgehen immer gleich.

Smiley 11. Mär 2022 12:06

AW: Ein Panel an eine Instanz einer Klasse TBall übergeben
 
Wow, superschnelle Antwort und sehr ausführlich mit Frage/Antwort.
Du machst das richtig gut.

VCL.Graphics dachte ich hätte ich als erstes probiert, nun jetzt hat es funktioniert.

Er meldet nur noch, dass ihm die SK_Aero.dll fehlt.
Habe die Bin Dateien mit in das Projektverzeichnis reingenommen, geht trotzdem nicht.
Es wird keine .dll erzeugt.

venice2 11. Mär 2022 12:15

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

SK_Aero.dll
war doch im Archiv vorhanden oder nicht?

Ich schicke dir einen link (PN) zu allen meinen Projekten (samples) such dir aus was du brauchst.
Eigentlich wird in diesen fast alle Funktionen meiner DLL irgendwo behandelt.

Smiley 11. Mär 2022 12:30

AW: Ein Panel an eine Instanz einer Klasse TBall übergeben
 
Ups, die .dll war im .rar mit drin, hatte nur das source Verzeichnis kopiert.
Sorry.
Bekomme jetzt eine Exception aus der api.
Auch wenn ich die gesendete Bounce.exe aus dem .rar File ausführe, das ging vorher aber doch schon mal.
Muss gleich mal meinen PC neustarten, ob es dann wieder geht, der macht wieder mal Windows Updates.

venice2 11. Mär 2022 12:37

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

Zitat von Smiley (Beitrag 1503173)
Ups, die .dll war im .rar mit drin, hatte nur das source Verzeichnis kopiert.
Sorry.
Bekomme jetzt eine Exception aus der api.
Auch wenn ich die gesendete Bounce.exe aus dem .rar File ausführe, das ging vorher aber doch schon mal.
Muss gleich mal meinen PC neustarten, ob es dann wieder geht, der macht wieder mal Windows Updates.

Du bekommst ein Exception
Delphi-Quellcode:
raise Exception.Create('Skin Config invalid or not available!');

bestimmt deshalb weil du den Ordner für die Ressourcen nicht zu deinem neuen Projekt addiert hast.

Sk_Aero.dll benötigt zum Ausführen die Konfigurationsdatei Bounce.ske (Textdatei) im Skin Ordner.
Dort wird festgelegt welcher Font, Skin, Farben etc.. für das Projekt verwendet werden.
Öffne die einfach mal dann siehst du was ich meine.
Alle Standard Einstellungen für das Fenster werden hier definiert.

Mit Windows Update hat es nichts zu tun.

Smiley 11. Mär 2022 13:01

AW: Ein Panel an eine Instanz einer Klasse TBall übergeben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Beim compilieren bekomme ich keine Fehler, nur bei der ausführung.
Habe das Skins und SpriteRes Verzeichnis auch noch in das Prjektverz. kopiert und neu kompiliert.
Beim aufrufen der .exe Datei kommt die angehängte Meldung.

venice2 11. Mär 2022 13:04

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

Zitat von Smiley (Beitrag 1503175)
Beim compilieren bekomme ich keine Fehler, nur bei der ausführung.
Habe das Skins und SpriteRes Verzeichnis auch noch in das Prjektverz. kopiert und neu kompiliert.
Beim aufrufen der .exe Datei kommt die angehängte Meldung.

Kannst dein Projekt mal anhängen?

Smiley 11. Mär 2022 13:11

AW: Ein Panel an eine Instanz einer Klasse TBall übergeben
 
Im Skins Ordner ist ein Ordner Blue mit den Bildern und der Bounce.ske Datei.
Habe versucht die .ske in Skins zu legen, kommt aber der gleiche Fehler.

Smiley 11. Mär 2022 13:14

AW: Ein Panel an eine Instanz einer Klasse TBall übergeben
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hier mein Project


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:02 Uhr.
Seite 2 von 3     12 3      

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