German Variable wird nicht akzeptiert

pucki

Active Member
Licensed User
Es ist eine Abfangbare Fehlermeldung. Nicht abgefangen knallt es (Meldung am Bildschirm und das wars). Und das Prg. verschwindet von Bildschirm aber NICHT aus den Speicher.

Deshalb war mein Tipp ja das man Variablen einfach vorher überprüft. Ich halte nämlich nix vom Abfangen von Fehlermeldungen bei Standart-Code. Der Grund ist, das die Folgefehler meist schlimmer sind.

Ich fange Fehler nur ab, wenn ich die Ursache nicht kontrollieren kann. Dies ist meist bei Zugriff auf Hardware (Drucker, COM-Port , Netzwerk etc) der Fall.

Und ich bin der Meinung das man das in B4x genau so machen sollte. Programme müssen IMMER unter Kontrolle sein. Varianten vorausberechnet und die Reaktionen darauf im Code integriert werden. Wenn alle so Arbeiten würden, gäbe es auch keine Bugs ;)

Gruß

Pucki
 

Sinan Tuzcu

Well-Known Member
Licensed User
Longtime User
ok, dieses Fehler habe ich behoben,, die Variablen sind immer auf "0" falls vom Gerät nichts kommt.
 

MarkusR

Well-Known Member
Licensed User
Longtime User
Deshalb war mein Tipp ja das man Variablen einfach vorher überprüft.
Kommt man manchmal nicht drum herum aber das kann ebenso ganz schön nervig werden.
Wenn es aber immr prüfen & benutzen ist dann kann man gleich eine Funktion daraus machen.
Oft habe ich Funktionen in VB6 gemacht die Wahr oder Falsch zurück geben als ging oder ging nicht.
Sowas wie If DatenbankÖffnen(..)=True Then If HoleDaten()=True Then ..
 

pucki

Active Member
Licensed User
Es kommt immer auf die Häufigkeit der Routine an.
Eine meiner Funktionen z.b. schreibt in eine Ini-Datei einen Wert, die andere Funktion liest das. Da ich viel Einstellung etc. in ini-Dateien speichere, liebe ich es einfach nur zu schreiben wert$ = pucki.lesen("grund.dat","gruppe","bezeichnung") bzw. ok = pucki.schreiben("grund.dat","gruppe","bezeichnung", wert$).

Alles was man mehr als 3 - 4 x im Code machen muss, sollte man versuchen auszulagern. Das hält den Code klein, und vor allen Dingen kann man ein Fehler in der Routine global beheben.

Wenn man die Funktion in vielen Programmen braucht, dann lagert man die Funktion in ein eigenes Modul (dll in VB) aus. Einmal schreiben, immer aufrufen, nie ärger ;)

Ach ja, diese Aussage gilt global also logoweis auch für b4x

Gruß

Pucki
 
Top