Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

byte Array als Referenz an eine Funktion übergeben und manipulieren Kategorie: Programmierung (von Schöne Axel - 16.07.2004 15:33)
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT V3.0
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)