logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

BASCOM problem z roznymi typami parametrow w procedurze

wilkolaski 06 Maj 2009 02:48 889 3
  • #1 6495778
    wilkolaski
    Poziom 18  
    Witajcie.
    Moze mi ktos wytlumaczyc dlaczego jak w bascomie w procedurze przekazuje jako stale stringa i liczbe (np typu Byte) to pozniej jak chce to wyswietlic na LCD to wyswietla mi sie tylko liczba ?
    Ponizej skrawek kodu bo calosci nie ma co zamieszczac.
    
    Declare Sub Sprawdzenie(byval Etykieta As String , Byval Liczba As Byte)  
    
    Do
    Call Sprawdzenie( "napis" , 10)
    Wait 2
    Loop
    End
    
    Sub Sprawdzenie(byval Etykieta As String , Byval Liczba As Byte)
    Locate 1 , 1
    Lcd Etykieta ; Liczba
    End Sub
    
  • #2 6495904
    mirekk36
    Poziom 42  
    Bo nie przekazuj w Bascomie stringów jako stałych "byval" to marnotrastwo pamięci , stosu itp. Najlepiej w ogóle jak doszedłem z doświadczenia jak najmniej parametrów przekazywać jako "byval" lepiej jak już to poprzez referencje "byref" - a najmniej pamięci ci zje jak będziesz posługiwał się zmiennymi globalnymi.

    Tego zjawiska doświadczych, gdy program spowoduje zajęcie już całej pamieci i wtedy CUD! - wystarczy wywalić większość takich parametrów "byval" - zamienić je na zmienne globalne i pamięć wraca z kopyta ;)

    Dodano po 2 [minuty]:

    aha - a stringa w swoich funkcjach przekazuj właśnie nie za pomocą Byval - tylko za pomocą Byref - to będzie działać tak jak chcesz
  • #4 6497850
    wilkolaski
    Poziom 18  
    pixel7 niestety zadeklarowanie w opisie stalej typu String ilosci znakow powoduje wywalenie bledu przez kompilator.

    Chyba zdecyduje sie na zmienne globalne bo przez byref i tak musze stworzyc zmienna.

    Wielkie dzieki za pomoc.
    Temat zamykam bo chyba nie ma juz tu nic do dodania.
REKLAMA