ALIAS und PROTOTYPE

Previous topic - Next topic

monono

Das hantieren mit all den Indexen und Listen ist mir in letzter Zeit etwas auf den Keks gegangen. Deshalb habe ich mich mal den Pointer Möglichkeiten von GLB gewidmet. Dabei bin ich in zwei Sackgassen gelaufen:

1. Der Versuch ein ALIAS in einem Type als Feld zu speichern.
2. Eine Type-Funktion als PROTOTYPE zu übergeben.

Geht das (noch) nicht? Oder geht das doch, und ich sollte mal meinen Code überprüfen?
Vielen Dank im Vorraus!

Schranz0r

glaube beides Nein
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

monono

Danke für die schnelle Antwort Schranz0r!
:'( :'( :'(

Kitty Hello

Alias ist nur eine Pointer-Variable. Die kann man nicht speichern. ACHTUNG: Wenn man REDIM/DIMPUSH macht, können ALIAS-Verweise kaputt gehen!!

Hintergrund. Type Funktionen können nicht per pointer übergeben werden - müsste statisch sein, kann dann aber nicht auf Member zugreifen.

Was ist denn so schlimm an Feldern?


monono

Nicht schlimm, nur unpraktisch. Ein Beispiel von bestimmt sehr vielen ist, wenn ich in einem Feld sehr sehr viele Types erstelle und wieder lösche, dann stimmen die Indizes natürlich nicht mehr. Wenn ich aber direkten Zugriff auf ein spezielles Object auch von außerhalb haben will, darf ich nicht löschen, sondern nur ersetzen. Geht natürlich auch. Jedes mal wenn ich einen neuen Type pushe gehe ich erst das Feld durch und schaue ob .del auf true steht und ersetze es dann.
Manchmal entstehen auch Dinge wie type1[type2[type3.index].index].phi. Dazu muss ich auch noch wissen welche Art von Type es ist, damit ich in die richtige Liste gucke. Diese vielen kleinen Dinge und meine scheinbare Unfähigkeit geplant zu programmieren addieren sich bis zu dem Punkt, wo es auf den oben genannten "Keks" geht. :)
Ich habe vor Weihnachten ein paar Wochen mal wieder mit dem anderen Basic programmiert. Das soll jetzt keine "das kann aber.." Ansprache werden, nur jetzt wo ich wieder vor GLB sitze, vermisse ich gar nicht die oo so sehr, sondern einfach das bei blub2:TObject = blub1, blub2 keine Kopie sondern blub1 selber ist.