byte Array als Referenz an eine Funktion übergeben und manipulieren Kategorie: Programmierung (von Schöne Axel - 16.07.2004 15:33) | ||
| ||
Hallo, mein Ziel ist es einen Bytebuffer aus dem Projektmodul als Referenz an eine Funktion in den Gemeinsamen Modulen zu übergeben. Dort sollen die Inhalte des Bytebuffers direkt manipuliert werden. Bisher ohne Erfolg. In dem Handbuch der C2 Unit wird sinngemä� folgendes ausgedrückt: Arrays werden automatisch als Referenz übergeben. Manipulationen wirken sich auf das referenzierte Datenobjekt aus. (C-Control Unit II S.68) Mein Beispiel-Quellcode schaut folgenderma�en aus: In dem Projektmodul "app" wurde ein Bytebuffer deklariert: byte buf[144]; ... rgl.fkt(buf,8); ... In den Gemeinsamen Modulen wurde ein Modul mit der Bezeichnung "rgl" erstellt: function fkt(byte bbuf[],long offset) { byte erg; erg = bbuf[offset] + 61; ... bbuf[offset+24] = erg; } Leider wird das Ergebnis "erg" einer Berechnung nicht in der Bytebuffer Variablen "buf" im Projektmodul manipuliert. Wie kann ich das Problem elegant lösen? Es ergibt sich bei der Lösung des Problems eine weitere Frage. Ist es möglich aus den Gemeinsamen Modulen z.B. "rgl" auf die globalen Variablen bzw. Funktionen des Projektmodules "app" zuzugreifen? z.B. ... app.buf[32] = app.buf[8] + 61; ... Hierbei meldet der Compiler einen Fehler! Vielen Dank Mit freundlichen Grü�en Axel Schöne Betriebssystem V3.0 mit sys0001.hex und sys0002.hex Servicepack V2.11 cc2comp.dll 1.0.0.4 | ||
Antwort schreiben Antworten: Re: byte Array als Referenz an eine Funktion übergeben und manipulieren (von André H. - 20.07.2004 9:54) |