Hallo, zusammen!
:sign0085:
Ich bin noch ein totaler Anfänger und habe ein Problem. Dazu einige Informationen:
Mein Programm:
Ich habe ein kleines Spiel programmiert, bei dem es darum geht, rechteckige Teile zu verschieben (Im Original sind es Holzklötzchen). Diese Teile sind in meinem Programm Panels, auf denen ich ImageButtons untergebracht habe. Ein Klick auf einen solchen Button löst eine Bewegung des Panels aus, auf dem er sich befindet. Daß sich die Teile nicht übereinanderschieben, habe ich folgendermaßen erreicht: Von jedem Teil gibt es eine Projektion auf das ForeLayer, so daß ich über FGetPixel prüfen kann, ob neben einem Teil frei ist oder nicht. Diese Projektion wird beim Verschieben eines Teils gelöscht, danach wird das Teil verschoben und an seinem neuen Ort wieder auf das ForeLayer projiziert. In der Menüleiste befinden sich außerdem Befehle, die einem ermöglichen, den Ausgangszustand wiederherzustellen (die Daten dazu werden aus einer CSV-Datei geladen), einen Spielstand zu speichern oder zu laden (auch hierfür benutze ich CSV-Dateien), sich eine Info-Messagebox anzeigen zu lassen und eine andere Form aufzurufen, in der sich die Anleitung zum Spiel befindet.
Mein Problem:
Vom Code her dürfte das Programm eigentlich in Ordnung sein; jedenfalls funktionierte es beim Testen und als ich es als Desktop.exe kompiliert habe. Nun wollte ich es natürlich auch auf meinem PPC spielen und habe es als Device.exe kompiliert, aber auf meinem PPC läuft es nicht. Soll heißen: Die Form öffnet sich, es wird alles korrekt dargestellt, nur wenn ich auf die Buttons klicke, tut sich nichts. Allein der Menüpunkt "Info", der eine Messagebox öffnet, und der Menüpunkt "?", der eine andere Form mit der Spielanleitung öffnet, funktionieren. Das Laden eines Spielstandes ist ebenfalls nicht möglich, obwohl der Öffnen-Dialog dargestellt wird und ordnungsgemäß benutzbar ist. Das Speichern des Spielstandes ist möglich (im Moment kann ich halt nur die Ausgangskonstellation speichern, aber die Daten, die in der CSV-Datei landen, sind korrekt). Über das Herstellen der Ausgangskonstellation kann ich keine Angaben machen, weil ich ja erst gar nicht darüber hinauskomme und daher natürlich keinen Unterschied feststellen kann. Die Form läßt sich ganz normal schließen.
Meine bisherigen Maßnahmen:
Ich habe zum Vergleich eine andere, einfache Anwendung geschrieben, die zwei Zahlen zusammenzählen sollte (mit zwei Textboxen und einem Button). Die funktioniert auf meinem PPC.
Dann habe ich natürlich weiter überlegt, woran es liegen könnte, und kam zu dem Schluß, daß ich vielleicht Bibliotheken hinzufügen muß. Also tat ich das. Ich habe mich mal für die ImageLib.dll, die FormLib.dll und die TabControl.dll entschieden, weil ich den Eindruck hatte, daß diese etwas mit den Befehlen zu tun haben, die ich verwendet habe. Danach habe ich wieder zwei Anwendungen kompiliert. Fazit: Die neue Desktop.exe funktioniert, die neue Device.exe immer noch nicht. Und das ist der Punkt, an dem ich fragen möchte: Was mache ich falsch? Muß es noch eine andere Bibliothek sein? Ich könnte mir nicht vorstellen, welche, und möchte lieber nicht weiter herumprobieren, weil ich nicht weiß, wie sich das u. U. auf meinen PPC auswirken könnte.
Mein PPC: acer n30 mit Windows Mobile 2003 SE (Basic4ppc ist hier nicht installiert; ich programmiere nur an meinem Hauptcomputer).
Meine Basic4ppc-Version: Ich lese unter Menü>Help>About "Version 4.05".
Mein Quellcode: Sollte anhängen. Ich glaube, man kann sich sonst schlecht vorstellen, wie das ganze aussieht.
Wenn Ihr Euch bis hierher "durchgelesen" habt, schon mal vielen Dank dafür! Ich hoffe, Ihr könnt mir weiterhelfen!
Gruß,
pikdame.
:sign0085:
Ich bin noch ein totaler Anfänger und habe ein Problem. Dazu einige Informationen:
Mein Programm:
Ich habe ein kleines Spiel programmiert, bei dem es darum geht, rechteckige Teile zu verschieben (Im Original sind es Holzklötzchen). Diese Teile sind in meinem Programm Panels, auf denen ich ImageButtons untergebracht habe. Ein Klick auf einen solchen Button löst eine Bewegung des Panels aus, auf dem er sich befindet. Daß sich die Teile nicht übereinanderschieben, habe ich folgendermaßen erreicht: Von jedem Teil gibt es eine Projektion auf das ForeLayer, so daß ich über FGetPixel prüfen kann, ob neben einem Teil frei ist oder nicht. Diese Projektion wird beim Verschieben eines Teils gelöscht, danach wird das Teil verschoben und an seinem neuen Ort wieder auf das ForeLayer projiziert. In der Menüleiste befinden sich außerdem Befehle, die einem ermöglichen, den Ausgangszustand wiederherzustellen (die Daten dazu werden aus einer CSV-Datei geladen), einen Spielstand zu speichern oder zu laden (auch hierfür benutze ich CSV-Dateien), sich eine Info-Messagebox anzeigen zu lassen und eine andere Form aufzurufen, in der sich die Anleitung zum Spiel befindet.
Mein Problem:
Vom Code her dürfte das Programm eigentlich in Ordnung sein; jedenfalls funktionierte es beim Testen und als ich es als Desktop.exe kompiliert habe. Nun wollte ich es natürlich auch auf meinem PPC spielen und habe es als Device.exe kompiliert, aber auf meinem PPC läuft es nicht. Soll heißen: Die Form öffnet sich, es wird alles korrekt dargestellt, nur wenn ich auf die Buttons klicke, tut sich nichts. Allein der Menüpunkt "Info", der eine Messagebox öffnet, und der Menüpunkt "?", der eine andere Form mit der Spielanleitung öffnet, funktionieren. Das Laden eines Spielstandes ist ebenfalls nicht möglich, obwohl der Öffnen-Dialog dargestellt wird und ordnungsgemäß benutzbar ist. Das Speichern des Spielstandes ist möglich (im Moment kann ich halt nur die Ausgangskonstellation speichern, aber die Daten, die in der CSV-Datei landen, sind korrekt). Über das Herstellen der Ausgangskonstellation kann ich keine Angaben machen, weil ich ja erst gar nicht darüber hinauskomme und daher natürlich keinen Unterschied feststellen kann. Die Form läßt sich ganz normal schließen.
Meine bisherigen Maßnahmen:
Ich habe zum Vergleich eine andere, einfache Anwendung geschrieben, die zwei Zahlen zusammenzählen sollte (mit zwei Textboxen und einem Button). Die funktioniert auf meinem PPC.
Dann habe ich natürlich weiter überlegt, woran es liegen könnte, und kam zu dem Schluß, daß ich vielleicht Bibliotheken hinzufügen muß. Also tat ich das. Ich habe mich mal für die ImageLib.dll, die FormLib.dll und die TabControl.dll entschieden, weil ich den Eindruck hatte, daß diese etwas mit den Befehlen zu tun haben, die ich verwendet habe. Danach habe ich wieder zwei Anwendungen kompiliert. Fazit: Die neue Desktop.exe funktioniert, die neue Device.exe immer noch nicht. Und das ist der Punkt, an dem ich fragen möchte: Was mache ich falsch? Muß es noch eine andere Bibliothek sein? Ich könnte mir nicht vorstellen, welche, und möchte lieber nicht weiter herumprobieren, weil ich nicht weiß, wie sich das u. U. auf meinen PPC auswirken könnte.
Mein PPC: acer n30 mit Windows Mobile 2003 SE (Basic4ppc ist hier nicht installiert; ich programmiere nur an meinem Hauptcomputer).
Meine Basic4ppc-Version: Ich lese unter Menü>Help>About "Version 4.05".
Mein Quellcode: Sollte anhängen. Ich glaube, man kann sich sonst schlecht vorstellen, wie das ganze aussieht.
Wenn Ihr Euch bis hierher "durchgelesen" habt, schon mal vielen Dank dafür! Ich hoffe, Ihr könnt mir weiterhelfen!
Gruß,
pikdame.