STARGÅTE hat geschrieben:Für die Übertragung ein XML-Baum zu erstellen ist quatsch.
Erstens wird es dadurch extrem langsam und die übertragung ist ehr schwerer.
Dein Beispiel ist auch etwas schräg, bitte benutze doch die in PB dafür vorgesehenden Befehle:
ArraySize() und ReDim ... anstatt in den Header des Array "rum zu fuschen".
Mag sein, das sich dieser bis auf weiteres nicht ändert, sollte er es aber tuen, hat man n menge Probleme weil die Übertragung dann nicht mehr Funktioniert, weil zB die Anzahl der Felder nicht mehr ja -8 steht ...
Ok XML ist wahrscheinlich nicht das schnellste aber die Übertragung ist damit nicht schwerer als wen er den Array übers Netzwerk schickt.
Einen kleinen Client/Server Code muss er so oder so schreiben.
Hm ja das Beispiel ist etwas schräg aber soweit mir bekannt steht schon eh und je die Größe des Arrays 8 Byte vor dem ersten Element
daher ändern sich die -8 nicht wirklich oder hat sich da was in letzter zeit geändert?
Zudem ist wen man den Array im Speicher durchgeht das nächste Element an der stelle zu finden an der die Structure endet in dem Fall ein long also 4 Bytes,
mir ist bisher noch nie aufgefallen das PB intern einen Array anders gespeichert hat und ihn eventuell im Speicher verteilt.
(Kann mich da aber auch irren dann wäre es natürlich fatal einfach so zu überschreiben

)
ArraySize() und ReDim fallen hier ja weg weil der Array der überschrieben wird eh erst beim Client der es empfängt erstellt werden muss also kann man hin auch
gleich in der gebrauchten Größe erstellen und dann einfach mit dem empfangen Array überschreiben.
Ok man muss nicht wirklich den Header mit überschreiben.
Ich gehe wie gesagt davon aus das PB seine Array linear speichert und sie nicht im Speicher verteil, davon ausgehend ist es völlig ok den Array mit einem satz
Daten gleicher Structur und Länge zu überschreiben
Ok wen er natürlich den Array beim Client nicht einfach nur neu mit den gleichen Werten des Server erstellen will
dann sieht die Sache etwas anders aus aber so wie ich ihn verstanden habe will er einfach einen Array vom Server zum Client 1 zu 1 übertragen.
==================================================
Asche auf mein Haupt
Syntacks_Error hat geschrieben:Bei mir geht es nur um ein simples Byte-Array, dann geht es also. XML? So'was gab's früher auch nicht, also wofür soll das gut sein

(Alter Hund und so) Außerdem ändern sich einige array-Werte gelegentlich zur Laufzeit, und das zu übermittlen (natürlich nur die jeweils geänderten Werte) soll der Sinn der Sache sein.
Hab glat seine Antwort übersehen
Hm wen du nur ab und an was andern willst könntest du einfach jedes Array Element nummerieren und rüber schiecken.
Was ich meine ist du kopierst einfach die benötigten Elemente in einen erstellten Speicherbereich aber stellst jedem
Element noch einen Longwert voran in dem die Position gespeichert ist.
Dann kannst du nach dem empfangen einfach wieder das ganze durchgehen und kannst anhand der Positionen deinen Array ändern