AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

pointer und proceduren

Ein Thema von braingrenade · begonnen am 27. Jun 2003 · letzter Beitrag vom 29. Jun 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#11
  Alt 29. Jun 2003, 12:22
Weiß keiner wo der Fehler liegen könnte ?
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#12
  Alt 29. Jun 2003, 12:33
Moin Braingrenade,

ich wollte mir gerade mal Deinen Source herunterladen.
Könntest Du das bitte auch mal probieren?

Bei beiden Dateien bekomme ich nur ein 0 Byte grosses Zip.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#13
  Alt 29. Jun 2003, 12:40
hoppsa ...
Angehängte Dateien
Dateityp: zip sprites_671.zip (406,9 KB, 8x aufgerufen)
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#14
  Alt 29. Jun 2003, 12:40
Die Fehlermeldung ist eindeutig.

Zu 100% fragst du eine Eigenschaft eines nil-Pointers ab.

Durch Debuggen sollte es kein Problem sein die Stelle zu finden
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#15
  Alt 29. Jun 2003, 12:53
Moin braingrenade,

auch nachdem ich mir Deine Sourcen angesehen habe, ist mir nicht klar, wozu Du einen Pointer auf die Pointer der Objekte brauchst.

Das was Du da mit PTSprite machst, kannst Du genausogut mit TSprite machen.

Eine Objektvariable enthält immer nur den Pointer auf das Objekt und Du benutzt den Pointer auf einen Pointer.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#16
  Alt 29. Jun 2003, 12:53
Zitat von Touchdown:
Zu 100% fragst du eine Eigenschaft eines nil-Pointers ab.
Wollen wir wetten? Eine Accessviolation kann auch bei einem Pointer auftreten, welcher auf ein nicht mehr vorhandenes Object zeigt, aber welcher auch nicht nil ist, diese kann auch auftreten, wenn ein Pointer falsch gecastet wird, also z.B. vom Typ A ist, aber auf Typ B gecastet wird...

......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#17
  Alt 29. Jun 2003, 13:13
hmmmm...

Also falschen Typecast schließe ich aus,
und die anderen sachen eigentlich auch , weil der Compiler bei einer Procedure völlig ohne Pointer anhält , ich glaube das problem liegt daran eine procedure von einem Pointer aus aufzurufen und variablen zu übergeben ,
ich denke das ich da irgendwas falsch gemacht habe...
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Touchdown

Registriert seit: 17. Feb 2003
227 Beiträge
 
#18
  Alt 29. Jun 2003, 14:08
Ja stimmt, hab mich auch schon mit falschen Typecast's selbst in den Fuss geschossen

Ohne den Code gesehen zu haben, tippe ich auf einen lokalen Pointer der nil ist, du aber einen globalen ansprechen willst.

oder

du willst eine Methode einer Klasse aufrufen, von dessen Klasse keine Instanz gebildet wurde.
function getallfornothing: TGoldesel;
begin
result := TGoldesel.create;
end;
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#19
  Alt 29. Jun 2003, 14:24
Moin braingrenade,

ich hab' diese Stelle in Verdacht:

Code:
function tspriteengine.Collision(sprite1,sprite2 : PTsprite): boolean;
var
   i, i2 : integer;
   spr1,spr2 : Tspriteset ;
begin
spr1 := sprite1.setsprpos;
spr2 := sprite2.setsprpos;
  for i := 0 to high(spr1) do
    begin
     if i > 0 then
        if (spr1[i-1].paar = false) and (spr1[i].paar = true) then
      for i2 := 0 to high(spr2) do [color=red]// In dieser Schleife werden spr1 mit Index von spr2 und spr2 mit Index auf spr1 angesprochen, kann schiefgehen, wenn die arrays nicht gleich gross sind.[/color]
         if (spr1[i-1].x < spr2[i].x) and (spr1[i2].x > spr2[i2].x) and           (spr1[i].y = spr2[i].y) then result := true
          else
           result:=false;
          end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von braingrenade
braingrenade

Registriert seit: 30. Okt 2002
Ort: Neufra
274 Beiträge
 
Delphi 6 Personal
 
#20
  Alt 29. Jun 2003, 15:15
Ah ja, da is ein fehler , aber der ist leider nicht das problem,
denn der code hängt ja schon früher ,aber trotzdem danke !
Let the sun beat down upon my face
Stars fill my dream
I am a traveller of both time and space
To be where I have been ________________ Such A Surge
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:03 Uhr.
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