-         
Ergebnis 1 bis 8 von 8

Thema: Fehler bei mehr als 2 Parametern in einer SUB

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    22.05.2006
    Beiträge
    9

    Fehler bei mehr als 2 Parametern in einer SUB

    Anzeige

    BASCOM-AVR IDE Version : 1.11.8.3

    Hallo,

    ich habe bei der Übergabe von mehr als 2 Parametern Probleme. Konkret: Die einer SUB übergebenen Werte sind in dieser falsch.

    Code:
    $regfile = "m16def.dat"
    $crystal = 4000000
    $baud = 9600
    
    Declare Sub Test(byval Para1 As Byte , Byval Para2 As Byte , Byval Para3 As Byte
    , Byval Para4 As Byte , Byval Para5 As Byte)
    
    Print Chr(27) ; "[2J";
    Print "SUB Parameter Uebergabe"
    Call Test(11 , 22 , 33 , 44 , 55)
    
    End
    
    Sub Test(para1 As Byte , Para2 As Byte , Para3 As Byte , Para4 As Byte , Para5
    As Byte)
       Print "Parameter 1:" + Str(para1)
       Print "Parameter 2:" + Str(para2)
       Print "Parameter 3:" + Str(para3)
       Print "Parameter 4:" + Str(para4)
       Print "Parameter 5:" + Str(para5)
    End Sub
    Was ist da falsch ?

    Danke und Gruß

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    Hast du mal versucht, die Parameter mit "byval" anstatt wie jetzt per default "byref" zu übergeben?

    Per Default wird einer Sub oder Funktion nicht der Wert einer Variablen übergeben, sondern nur der Pointer auf diese Variable. Da könnte es meiner Meinung nach zu Problemen kommen, wenn es sich, wie in deinem Beispiel nicht um Variablen handelt.

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    junge, les dir mal die anweisung durch von bascom, bevor du so ein dummes zeug schreiben tust. wer des lesens mächtig ist, ist einen grossen schritt voraus.

    setzt das mal drunter oder aktiviere es im menü :
    $hwstack = 32
    $swstack = 32
    $framesize = 64
    dann klappt es mit der nachbarin!!!!!!!

    Hast du mal versucht, die Parameter mit "byval" anstatt wie jetzt per default "byref" zu übergeben?
    das ist nicht der fehler!!!!!! befasse dich mal mit byval und byref.

  4. #4
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    @roboterheld könnte es sein, das du beim schreiben der zeilen auf nem kaktus gesessen hast?

    ich habe mich mit byval und byref befasst, bin aber sicherlich nicht frei davon, auch gelegentlich mal fehler zu machen. ich denke, das mein roboter marvin belegt, das ich nicht ganzlich schwammhirnig bin

    ich war einfach nur der meinung, das eine byref-referenzierung probleme bereiten könnte, da ein varpointer erwartet wird (liegt im ram) und ein wert übergeben wird (liegt im programspeicher?).

    nun, hab mich wohl geirrt. jeder kann mal falsch denken. auch ich. auch du.
    falls du mir das vorgehen von Bascom in dieser hinsicht erläutern könntest, wäre ich dir zutiefst verbunden

    Gruß MeckPommER
    Mein Hexapod im Detail auf www.vreal.de

  5. #5
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    das ist kein argument. ich kenne schwachköpfe die nicht mit beiden beinen in der welt stehen und auch so etwas auf der pfanne haben.

    mfg

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    29.07.2007
    Beiträge
    386
    ....falls du mir das vorgehen von Bascom in dieser hinsicht erläutern könntest, wäre ich dir zutiefst verbunden....


    schau in der bascom-hilfe nach, da steht alles.

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    19.07.2007
    Alter
    53
    Beiträge
    1.080
    Dazu fällt mir dann nur der gute Nuhr ein *koppschüttel*
    Mein Hexapod im Detail auf www.vreal.de

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    22.05.2006
    Beiträge
    9
    Danke für Informationen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •