Noch eine Frage über Types!
Übersicht

![]() |
BlitzerBetreff: Noch eine Frage über Types! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was ist, wenn eine eine Variable abgekoppelt wird von einer typekollektion!
Ich lese immer, dass sie noch Existiert aber man kann nicht zugreifen oder so! Das versteh ich nicht ganz! ![]() ![]() ![]() ![]() ![]() |
||
Nichts ist mehr so wie es einmal war mit
------------------Blitzbasic------------------ Athlon 3000+, 1 GBRam DDR, Geforce FX 5500, 120 GB Fesplatte Sempron 2200+, 512 MBRam DDR, Geforce FX 5200, 60 GB Festplatte |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich verstehe Deinen Post nicht? Was meinst Du mit abkoppeln? | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
BlitzerBetreff: z.B. |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zum Beispiel so!
Code: [AUSKLAPPEN] Type Ball
Field X End Type Boll.Ball=New Ball Bill.Ball=Boll Schnell Geschrieben. Ist jetzt Boll.Ball auch noch da, oder nicht! |
||
Nichts ist mehr so wie es einmal war mit
------------------Blitzbasic------------------ Athlon 3000+, 1 GBRam DDR, Geforce FX 5500, 120 GB Fesplatte Sempron 2200+, 512 MBRam DDR, Geforce FX 5200, 60 GB Festplatte |
Timo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Warum so blöde Variablennamen???
Code: [AUSKLAPPEN] Type Baum
Field Blatt End Type Fichte.Baum=New Baum Tanne.Baum=Fichte so jetzt gibt es nur EINEN Typeintrag, aber zwei Handles dafür, das heißt Fichte und Tanne zeigen auf den selben Variablen eintrag. Fichte gibts also noch, genauso wie Tanne ![]() Gruß Timo |
||
![]() |
BlitzerBetreff: Noch eine Frage! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was ist, wenn es so aussieht:
Code: [AUSKLAPPEN] Type Baum
Field Blatt End Type Tanne.Baum=New Baum Fichte.Baum=Tanne Eiche.Baum=New Baum Ficht.Baum=Eiche gibt es dann noch die Tanne? |
||
Nichts ist mehr so wie es einmal war mit
------------------Blitzbasic------------------ Athlon 3000+, 1 GBRam DDR, Geforce FX 5500, 120 GB Fesplatte Sempron 2200+, 512 MBRam DDR, Geforce FX 5200, 60 GB Festplatte |
![]() |
simi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, warum sollte es sie nicht mehr geben, hast sie ja nicht gelöscht. | ||
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tanne gibt es noch. Kannst mit Tanne\... noch auf deren Inhalt zugreifen. "Fichte" hingegen ist nur ein Handle. Das Handle ist erst das von Tanne (ein Synonym quasi, oder ein Verweis), dann das von Eiche. Lediglich der verweis ist anders geworden.
Code: [AUSKLAPPEN] Type Baum
Field Blatt End Type Fichte.Baum=New Baum Birke.Baum = New Baum Fichte.Baum = Birke Damit überschreibst du auch nur das Handle! ,, Handle: (Comput) ein spezielles digitales Erkennungszeichen für Programme so daß das Betriebssystem sie finden und öffnen kann ´´ Hier eben nicht für Programme sondern für Types. Du überschreibst das Handle, den Inhalt aber nicht. Mit Fichte\.. greifst du jetzt immer auf den Inhalt von Birke zu. Birke und Fichte sind damit im Prinzip das selbe. Du hast auf den eigentlichen Fichteninalt keinen direkten Zugriff mehr, dazu müsstest du eine For-Each schleife nehmen um es zu überprüfen. Kannst dort dann sehen, dass es noch immer 2 Einträge gibt. Stell mal ein "Field Name$" in die Typedefinition und setzte für Ficht eund Birke namen, überschreib Fichtes Handle und gebe die Namen in einer For-Each aus. Due Namen sind noch immer da. |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
![]() |
Markus2Betreff: Re: Noch eine Frage! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also BaumType da sind alle Bäume drin
aber du kannst dir einen Eintrag merken und dafür extra Variablen nehmen . Code: [AUSKLAPPEN] global Baum1.BaumType global Baum2.BaumType global Baum.BaumType Baum.BaumType=New BaumType Baum\Art$="Tanne" Baum1=Baum Baum.BaumType=New BaumType Baum\Art$="Fiche" Baum2=Baum for Baum.BaumType = each BaumType debuglog Baum\Art$ next debuglog Baum1\Art$ debuglog Baum2\Art$ ;Das sollte man dann vermeiden weil dann ist nicht mehr Baum1=Baum1 ;-) for Baum1.BaumType = each BaumType debuglog Baum1\Art$ next |
||
![]() |
Jolinah |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denke es sollte ja jetzt längstens klar sein wie es gemeint ist.
Trotzdem ![]() Ich finde man kann es auch noch recht leicht erklären mit so nem Bsp: Code: [AUSKLAPPEN] Type Baum Field Blatt$ Field groesse Field ent End Type Tanne.Baum = new Baum Tanne\Blatt$ = "Nadeln" Fichte.Baum = new Baum Fichte\Blatt$ = "Bla" Birke.Baum = new Baum Birke\Blatt$ = "Blabla" ;1000 weitere Bäume auf nem Terrain etc....... ;Auswahlroutine mit EntityPick oder was ähnliches ... For b.Baum = each Baum If b\ent = PickedEntity() Ausgewaehlt.Baum = b Endif Next ... ;Ende der Auswahlroutine ;Bei Maustaste rechts den ausgewählten Baum um 1 vergrössern. If MouseHit(2) If not Ausgewaehlt = null Ausgewaehlt\groesse = Ausgewaehlt\groesse + 1 Endif Endif Daran sieht man gut das Ausgewaehlt nur ein Handle ist das auf nen Eintrag zeigt. (Natürlich sind ja auch all die anderen nur Handles) Wenn man jetzt Ausgewaehlt löschen würde dann wird halt auch die andere Variable ungültig die auf das Objekt zeigt. Wenn Ausgewaehlt = Tanne und man Delete Ausgewaehlt schreibt dann ist Tanne ab sofort auch Null. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group