TIA Fehler bei Deserialize

C.D.B.

Level-2
Beiträge
25
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Im moment Zweifel ich an meinem Verstand ...

Wieso sollten 48 Bytes nicht in einen String hineinpassen? (Siehe Bild)

Egal ob der Bausteinzugriff optimiert oder nicht-optimiert eingestellt ist, IDB-setzen der beiden Strings bringt auch nix ... es bleibt bei Fehler #8153 "Am Parameter SRC_ARRAY steht nicht genügend Speicherplatz zur Verfügung".

:confused::confused::confused:

Ich weiß echt nicht mehr weiter ... hoffe, daß jemand von Euch ine Idee hat.

Danke!
 

Anhänge

  • deserialize.jpg
    deserialize.jpg
    76,6 KB · Aufrufe: 116
Hallo Cdb,


ist dein String Initalisiert? Was passiert wenn du len() String abfragst? Evtl beim Startwert einmal 245 Schrottzeichen eintragen und testen?


Gruß Tia
 
Zuviel Werbung?
-> Hier kostenlos registrieren
mal den Fehlercode gelesen? Es geht nicht um die Größe des Strings :-)
[TABLE="class: table_default, width: 70%"]
[TR]
[TD]8153[/TD]
[TD]Am Parameter SRC_ARRAY steht nicht genügend Speicherplatz zur Verfügung.[/TD]
[/TR]
[/TABLE]

im Handbuch ist deserialize eigentlich genau erklärt wie er tickt:
https://support.industry.siemens.com/cs/ww/de/view/109755202/109439485195

dazu kommt das du an den Deserialize die Position 48 übergibst was das ende des Arrays ist und der String 254+2 Byte groß ist.....
dementsprechend müsste dein Byte Array 48+254+2 Byte groß sein - man kann noch mal testen ob ein setzten von POS auf null erfolg bringt.

chars_to_Str / Str_to_Chars kann hier evtl helfen, je nach dem was in den Daten.Sanner steht / was das für ein Datentyp ist.
https://support.industry.siemens.com/cs/ww/de/view/109755202/109439485195

Aufpassen:
Der String hat zu beginn zwei füll Bytes welche mit aus deinem Array gebildet werden (MaxLen & ActLen) - das wird gerne mal vergessen wenn man ein Byte Array nach String deserialisiert ;-)

VG
RedCali
 
Zuletzt bearbeitet:
Danke RedCali!

War gestern ein langer und frustrierender Tag - habe das SRC_ARRAY im Fehlertext gar nicht realisiert. :roll:

Nachdem ich das tmp_array auf Zielgröße erhöht hatte, lief es doch tatsächlich ... :D
 
Kein Thema, ich habe meine Antwort auch gefühlte 10x überarbeitet und überdacht :D
und ich muss gestehen - ich hatte am Anfang auch mal Schwierigkeiten mit Serielize / Deserialize - z.B. der Pos. Parameter wenn nicht passt kommt auch nur müll raus....

Solange es nun geht und alle Klarheiten beseitigt sind können wir ja alle diese Nacht wieder ruhig schlafen *ROFL*
in dem Sinne - schönes Wochenende
 
Zurück
Oben