Fragen zu Pointern und Objekten
Übersicht

![]() |
DAKBetreff: Fragen zu Pointern und Objekten |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie kann ich per Pointer die einzelnen Variablen eines Objekts byteweise auslesen?
Wenn ich einfach nur per Varptr einen Byte Ptr auf mein Objekt setzte, dann liegt die Adresse, auf die der Pointer zeigt meilenweit neben der Adresse, die ich krieg, wenn ich den Pointer auf die erste Variable des Objekts lege. Was ich wissen müsste dafür is, woher ich den Pointer auf die erste Variable krieg, wenn ich nicht weiß, um was für eine Art Objekt sichs dabei handelt. Außerdem müsst ich noch wissen, wie ich raus krieg, wie viele Bytes das Objekt groß ist. Im Endausbau brauch ich eine Funktion, der ich ein beliebiges Objekt beliebigen Types übergeben kann und die mir dann byteweise den gesamten Inhalt des Objekts ausgibt. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Pointer in BMax sind nur dafür da, um mit C-Libs kommunizieren zu können. Im internen sprach-gebrauch sind sie zu vermeiden, da sie unvorhersehbare crashes verursachen und sicherheitslücken aufreissen können. | ||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm... mist...
weiß wer, wie ich das problem sonst lösen könnt? |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was genau ist denn dein Problem? | ||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich möcht im endausbau ein type, von dem ich im vorhinein nicht weiß, wie das ausschaut, per netz verschicken.
das soll dann so ausschauen: Host macht einen type und setzt ihn auf die 'synchronisierungsliste'. Client macht das gleiche. Client schickt eine synchronisierungsanfrage. Host schickt den Type byteweise zum Clienten, der das ganze dann wieder zusammenbaut. da hätt ich mir gedacht, dass ich mit pointern arbeiten kann und byteweise den type auslesen und schreiben kann.. würde dann hald nur gut gehen, wenn im type nur zahlen vorhanden wären, aber das wär ja kein so großes problem. muss ma hald strings, meshs, ... wo anderst hin packen. |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
c64 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hmm vllt. is ja Reflection eine Lösung ?!
mfg. C64 |
||
Betreten verboten! Kinder haften für ihre Eltern! |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dafür must du wohl dem Type eine Serialisierungs und eine Deserialisierungs Methode geben, der ihn in ein ByteArray verpackt oder gleich in einen stream schreibt/aus einem liest.
Per BytePtr ist davon extremst abzuraten, weil du dadurch am GC vorbei arbeitest was entweder zu einem crash oder extremen MemLeaks führt. |
||
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
das serialisierungs/deserialisierungszeugs geht an dem, was ich möchte, leider vorbei...
das mit den reflections klingt intressant... werd ich mir mal anschauen... |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group