Type fehler - Objekt existiert nicht

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

WEBLink

Betreff: Type fehler - Objekt existiert nicht

BeitragMo, Nov 27, 2006 16:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo hier mal der code.

Code: [AUSKLAPPEN]
If ImagesOverlap(mouse, mauskorx, mauskory ,newevent,208,141) Then  Text mauskorx + 20, mauskory, "Neues Event erstellen" If maushit Then
eventnr = eventnr + 1
EName$(eventnr) = "Buch"
 

eventsp.Eventspeicher = New Eventspeicher   ; <-------- Neues Type wird erstellt

For ezeilen = 0 To 29

eventsp\Eventpos[ezeilen] = eventy(ezeilen)     ; <----- den feldern werden die werte zugewiesen
eventsp\eventspart$[ezeilen] = eventart$(ezeilen)
eventy(ezeilen) = 0
eventart$(ezeilen) = ""


Next

eventgo = eventgo + 1
EndIf

If eventgo => 1 Then
DrawImage eventfenster2, 239, 141
DrawImageRect eventwahl ,240,115,0,0,26,24
DrawImageRect eventwahl ,718,115,26,0,26,24

If ImagesOverlap(mouse, mauskorx, mauskory ,eventwahl ,240,115) Then If maushit Then
If eventnr > 1 Then eventnr = eventnr - 1
 
eventsp = Before eventsp   ; <--- wenn 2 Types erstellt wurden kann man wieder zurück und das Type vorher auslesen aber HIER KOMMT DER FEHLER DAS er kein Objekt findet

For ezeilen = 0 To 29

eventy(ezeilen) = eventsp\Eventpos[ezeilen]
eventart$(ezeilen) = eventsp\eventspart$[ezeilen]
 

Next
EndIf


Bei dem 2. Bereich mit dem befor befehl kommt der fehler das kein Objekt existiert.
Warum es wird doch weiter oben eins erstellt. Nebenbei man kann den Befor befehl erst ausführen wenn mindestens 2 Types erstellt wurden.

Christoph

BeitragMo, Nov 27, 2006 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Nimm doch first statt before

oder überprüfe einfach mit =NULL ob ein Typeeintrag existiert

WEBLink

BeitragMo, Nov 27, 2006 18:31
Antworten mit Zitat
Benutzer-Profile anzeigen
First bríngt nichts er soll ja den type davor auslesen.

zum anderen ist der fehler damit nicht behoben. Wenn ich ein Type kurz for der auslese erselle kommt der fehler nicht
 

Omenaton_2

BeitragDi, Nov 28, 2006 11:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir nicht die Mühe gemacht, deinen Code genau duchzulesen und zu verstehen, aber ich kann dir einen allgemeinen Tipp zu Types geben, der vielleicht helfen kann.

Ich habe schon sehr viel mit Types gearbeitet und dabei anfänglich auch oft schlechte Erfahrung mit after / before gemacht. Ich benutze deshalb immer IDs für die Types. Ich gebe jedem erstellten Type Objekt einen eindeutigen ID-Nummer und wenn ich sie wiederfinden will, dann gehe ich immer durch alle Types mit FOR EACH NEXT und steige aus der Schleife mit Exit IF = gesuchte ID.
So gibt es nie Probleme.

Beispiel:

Code: [AUSKLAPPEN]
For Inventar.INVSLOTS = Each INVSLOTS
            
  If Inventar\SlotID = MausOverInvSlot_ID Then Gefunden = JA : Exit

Next

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group