Autor Beitrag
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 08.05.10 17:17 
1. Ich starte das Programm, drück auf Start...nix passiert

2. Fenster > Planeten: nix passiert

3. Sehr tiefsinnig: Ich mach neue Simulation: Fragt er nach dem Maßstab (ich weiß ja eigentlich erstmal garnicht was das genau bewirkt). Im Edit steht "km"..ich schreib "1km" rein => Fehler wegen "1km" kein Gleitkommawert.

4. Ich starte das gleiche nochmal: "Anzahl der Planeten"...ich kann aber nicht auf Weiter klicken, der Button ist weg. Wechseln zwischen Absolut und Relativ behebt das Problem.

5. ich hab 2 Planeten eingefügt und auf Start gedrückt...Delphi und dein Programm sind komplett eingefroren (ok, das sind normale Delphi 2005 bugs). Ist jedesmal so btw.

6. Ich guck mir den Code an...Kommentar fällt mir ins Auge: "{durch timerdingens ersetzen}"...sehr informativ bei nem Sleep befehl :?:

7. Ich hab hier schonmal ne AcessViolation:
ausblenden Delphi-Quelltext
1:
if form1.mk <> nil then form1.mk.destroy;					

du musst mk auch auf nil setzen wenn du das prüfst.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
if Form1.mk<>nil then
  begin
    form1.mk.destroy;
    form1.mk:=nil;
  end;


8. Ich seh nix. Nur grau auf grau ^^


*delphi zum 10ten mal startet* verdammte Hacke was is denn das...

Unit umehrkörper - Zeile 113

ausblenden Delphi-Quelltext
1:
abstand.Destroy;					

=>
ausblenden Delphi-Quelltext
1:
freeandnil(self);					


Da zerlegts mein Delphi. FreeAndNil(Self) ist irgendwie komisch...lösch dich selbst...hmm.

*delphi zum 20ten mal startet*

Ja, ist der Befehl FreeAndNil(Self). Ich persönlich würde ja eh mehr mit records arbeiten, da kann man sich das createn/destroyen sparen
Jetzt weißt du wenigstens schonmal wo der Fehler ist, warum er kommt...hmm, keine ahnung, hab aber auch nicht so genau geguckt

Wenn du fertig bist kannsts ja nochmal hochladen, dann find ich dir noch 50 fehler oder so ;) hab die Facharbeit damals von meinem Kumpel schon auseinandergenommen :mrgreen: Naja, danach liefs aber auch stabil

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
Matty92 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Sa 08.05.10 18:06 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Hi,
danke fürs drübergucken :).
zu 1.: Ja, ich muss die Reihenfolge ändern, in der die Fenster erscheinen. Normalerweise soll das Neu-Fenster erscheinen, das Zeichenfenster nicht.
2.: Das Fenster fehlt auch noch, ich bin mir nicht sicher ob ich das überhaupt brauche, deshalb mach ich das zum Schluss.
3.: Hab das km rausgeworfen.
4.: Hab ich auch gerade geändert.
5.: Bei mir ist es nur ein einziges Mal bis jetzt eingefroren :S.
6.: Ich will den sleepbefehl durch das Timebasedmovement ersetzen, der Kommentar war da nur, damit ich es nicht vergesse.
7.: Hab ich auch geändert, danke :).
8.: Ich habs noch nicht raus, wie ich die Hintergrundfarbe ändere.
9.: Lösch dich selbst :D. Blöder Destruktor, den hab ich im Unterricht auch nie verstanden :nixweiss:.

Ok, danke für das Durchgucken. Ich erwähne dich auch in der Danksagung der Facharbeit :).
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Sa 08.05.10 18:36 
user profile iconXion hat folgendes geschrieben Zum zitierten Posting springen:


7. Ich hab hier schonmal ne AcessViolation:
ausblenden Delphi-Quelltext
1:
if form1.mk <> nil then form1.mk.destroy;					

du musst mk auch auf nil setzen wenn du das prüfst.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
if Form1.mk<>nil then
  begin
    form1.mk.destroy;
    form1.mk:=nil;
  end;



Destroy sollte man auch in dem Fall nicht verwenden, sondern
ausblenden Delphi-Quelltext
1:
2:
3:
4:
if assigned (Form1.mk) then
  begin
    freeandnil(form1.mk)
  end;
Matty92 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: So 09.05.10 22:12 
Moderiert von user profile iconNarses: Komplett-Zitat des letzten Beitrags entfernt.

Ok, danke, auch wennich nicht genau den Unterschied verstehe, außer dass sich die Anweisungen unterscheiden. Naja, auf jedenfall gibt es ein neues Problem, ich mach dazu aber einen neuen Thread auf.
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Di 11.05.10 11:56 
free prüft selbst auch nochmal, ob es das Objekt noch gibt, und ruft nur dann Destroy auf. Andernfalls schmeisst es eine Exception.
Und Assigned prüft, ob es das Objekt noch gibt.
Matty92 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 34



BeitragVerfasst: Mi 12.05.10 18:53 
Hi Boldar,
ah, ok, danke.
Und was genau ist der Unterschied zwischen assigned(mk) und mk<>nil?
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Mi 12.05.10 20:17 
genau keiner. ;)

siehe hier und hier.

so nebenbei erwähnt: dies kostete mich 15 sekunden googeln. ;)

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Boldar
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1555
Erhaltene Danke: 70

Win7 Enterprise 64bit, Win XP SP2
Turbo Delphi
BeitragVerfasst: Di 18.05.10 11:33 
noch nicht. Aber die Abfrage it assigned ist zukunftssicherer.