![]() |
[Andorra 2D] unbekanntes Problemchen ;)
Einen schönen guten Morgen,
ich habe ein Problem mit Andorra 2D. Es passt perfekt zu meinen Vorhaben und ich hatte bis jetzt auch noch keine Probleme. Nun versuche ich Andorra in mein bereits bestehendes Programm einzubinden und dann ist dann leider auch schon ende... Bei meinem Spiel handelt es sich um ein Echtzeit-Strategiespiel, welches auf Sql aufbaut. Was ich mit Andorra anfangen möchte lassen wir einfach mal in den Raum gestellt ;) - Ist auch alles nicht so wichtig... Nun zu meinem Problem: Wenn ich eine neue Anwendung erstelle und diese laufen lasse, funktioniert dies Problemlos. Wenn ich jetzt allerdings eine neue Form in meiner bestehenden Anwendung erzeuge treten Problme an den seltsamsten Stellen auf.... Also habe ich versucht des Wurzels Übel zu finden und erst einmal alles weggelassen und nach und nach wieder aufgebaut, bis zu folgender Stelle
Delphi-Quellcode:
funktioniert es ohne Fehler, doch sobald
AdDraw := TAdDraw.Create(self);
AdDraw.DllName := 'AndorraDX93D.dll';
Delphi-Quellcode:
aufgerufen wird, gibt es lauter Fehlermeldungen sobald ich im Ursprünglichen Programm etwas verändere. Das Initialisieren selbst macht keine Probleme.
if AdDraw.Initialize then
Das Problem selbst ist das seltsamste... Es werden lauter Zahlen erzeugt, die keinen Sinn ergeben... Folgendes lässt vielelicht klar werden was passiert: Zitat:
Vielen Dank schon einmal... incubus_v |
Re: [Andorra 2D] unbekanntes Problemchen ;)
Hallo,
Welche Delphiversion hast du? Welche Version von Andorra verwendest du (CVS oder die Downloadversion)? Hast du die DLL nochmal selbst kompiliert? Wenn du die CVS version verwendest musst du auf jeden fall die DLL neu kompilieren. Das gleiche gilt wenn du eine Delphiversion kleiner als BDS2005 nimmst. Wenn das nicht hilft, dann setzte mal einen Haltepunkt auf die "initialize" Zeile und steppe das Ganze mal durch und sag mir, wo genau der Fehler kommt. Igel457 |
Re: [Andorra 2D] unbekanntes Problemchen ;)
Guten Abend,
danke für die schnelle Hilfe, benutze BDS 2005 PE und die Andorra Version 2.0a. Leider habe ich aber heute Abend keine Zeit um weiter zu probieren, melde mich dann noch einmal. |
Re: [Andorra 2D] unbekanntes Problemchen ;)
Also,
dll kompilieren wollt ich versuchen, allerdings wird alles möglcihe rot unterstrichen zB fehlt eine dcu (d3dx9, Direct3D9). Nun, ohne das initialisieren von Andorra sind alle Werte richtig, doch sobald es initialisiert wird, spielen alle Werte verrückt... Als Beispiel nehm ich einmal folgende Stelle:
Delphi-Quellcode:
Der Fehler scheint jedoch einen tieferen Grund zu haben, denn es passiert anscheind bei allen möglichen integer werten...IF id <> 0 THEN BEGIN p := floattostr(id); where := 'id'; END ELSE BEGIN p := koord; where := 'koord'; END; Wenn ich mir mittels Debugger die Werte des Beispiels angucke ist das etwas, wie soll ich sagen, seltsam. "id" hat jederzeit den richtigen Wert zB "11", doch p bekommt den Wert "11,000000514569"... Ich versteh einfach nicht was das soll. p ist lokal deklariert, die procedur selbst ist public und die form, welche andorra benutzt, steht noch nicht direkt mit dem hauptprogramm in verbindung... selbst wenn ich der variable einen namen gebe, mit der sich bestimmt nichts überschneidet, tritt der gleiche fehler auf. jedoch nur wenn AdDraw.Initialize aufgerufen wird ;) Irgendwie werd ich nicht schlau daraus. |
Re: [Andorra 2D] unbekanntes Problemchen ;)
*Hokuspokuskristallkugelfidibus*
koord ist eine Reelle Zahl? Die haben immer gewisse Ungenauigkeiten. Ich denke 11,000000514569 its genau genug ;) Sonst nimm, wenn du keine nachkommastellen braucht, Integer. |
Re: [Andorra 2D] unbekanntes Problemchen ;)
nun, koord erfüllt noch keinen zweck :D wird erst später benötigt... außerdem tritt es bei allen möglcihen integer werten an jeder stelle des programms auf. koord wäre in diesen fall auch ein string, id ist jedoch nur integer und dort ist auch der fehler!
|
Re: [Andorra 2D] unbekanntes Problemchen ;)
Ich kann mir nicht vorstellen, das Integerwerte plötzlich Nachkommastellen bekommen. Bei Singles und Doubles ist es mit aber durchaus aufgefallen, das mit dem DirectX Plugin die genauigkeit abnimmt. Versuche einfach mal die Werte mit "round" zu runden.
|
Re: [Andorra 2D] unbekanntes Problemchen ;)
Wenn id eh ein Integer ist, solltest du IntToStr nehmen und nicht FloatToStr.
|
Re: [Andorra 2D] unbekanntes Problemchen ;)
tja, aber es treten nachkommastellen auf... und diese anscheind komplett zufällig, jedoch auch immer die gleichen.
und ob ich jetzt inttostr oder floattostr nehme bzw round benutze, es liefert doch letztlich keine erklärung für das problem. ich meine gut ist es bestimmt nicht, wenn ich es so unterdrücke... ich werd einfach weiter probiern vielleicht find ich ja noch etwas |
Re: [Andorra 2D] unbekanntes Problemchen ;)
Wenn id Float, Real oder eine sonstiger Typ von Zahl ist, der Nachkommastellen kann, gibt es, wie gesagt, immer eine gewisse ungenauigkeit. Was ist denn id für ein Typ?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz