Seite 1 von 2
komische Fehler - meldung
Verfasst: 30.08.2013 17:10
von maupa
bin mir nicht so sicher ob es ein Fehler ist.. die Fehler Meldung ist einfach schwachsinnig.
Declaration auch, aber es geht um die Fehler Meldung
Gruß
maupa
PS: windows 8-64 bit, PB 5.11-64 bit
Re: komische Fehler - meldung
Verfasst: 30.08.2013 17:14
von Kiffi
was ist daran 'schwachsinnig'?
Mit Declare werden Prozeduren deklariert und nicht Variablen.
Grüße ... Kiffi
Re: komische Fehler - meldung
Verfasst: 30.08.2013 17:23
von maupa
man das hab ich doch geschrieben.. das Deklaration schwachsing ist.. dennoch sagt er mit in Zeile 1 dem Fehler-- da bin ich noch nicht in eine Prozedur.
Ich kann auch so machen:
Code: Alles auswählen
Define Lfwrk.s
Lfwrk = "C:\"
Procedure GetDiskFull(Lfwrk)
Protected BytesFreeToCaller.i, TotalBytes.i, TotalFreeBytes.i
GetDiskFreeSpaceEx_(@Lfwrk, @BytesFreeToCaller, @TotalBytes, @TotalFreeBytes)
ProcedureReturn TotalBytes
EndProcedure
Und das passt..
In der Deklaration hat der Fehler nichts zu suchen.. man sucht sich doof-->>>> ich bin nicht inerhalb einer Prozedur
Re: komische Fehler - meldung
Verfasst: 30.08.2013 17:34
von ts-soft
Das mit schwachsinnig lassen wir erstmal sein, weil der Bug sitzt wie meist vorm Bildschirm
Mit Declare werden Proceduren deklariert, mit Define lokale Variablen!
Der Compiler erwartet also eine Procedure, mit Klammern usw., keine Zuweisung mit =
Und das sagt er Dir freundlicher Weise

und Du meinst der Compiler sei schwachsinnig, wo
er zumindest in diesem Falle "intelligenter" zu sein scheint
PS: Wer Ironie oder Sarkasmus findet, darf dies behalten.
Gruß
Thomas
Re: komische Fehler - meldung
Verfasst: 30.08.2013 17:48
von maupa
Nana wenn ich falsch deklariere sollte auch da der Fehler kommen,-> ungültige Deklaration Laber, Laber sülz
nicht sagen das die Prozedur mit >“(“ anfangen soll.
Es mag logisch sein was ihr schreibt ( wenn ich nun mal Anfänger bin such mich den Teufel ab ) aber nicht sinnvoll.
Wenigsten sehe ich das als Logische Fehler Meldung -> ungültige Deklaration Laber, Laber sülz.
Und wenn Ihr das nicht als Fehler sieht dann seit ihr schon in so eine Art von Routine.. Denkt doch drüber nach, ein Fehler wird in eine Zeile angezeigt (wo auch ein Fehler ist) die Meldung Zeigt auf Prozedur ....hat aber nichts mit dem Fehler zu tun, also falsche Meldung oder Irre Leitung , wie auch immer .
Für einem Anfänger ist der Zusammenhang nicht ersichtlich
Gruß
Re: komische Fehler - meldung
Verfasst: 30.08.2013 17:53
von Andesdaf
der Compiler kann ja nicht wissen, was du machen möchtest.
Vielleicht wolltest du ja eine Prozedur deklarieren, hast aber
versehentlich ein Gleichheitszeichen anstelle der Klammer genutzt. Dann stimmt
die Meldung wieder. In deinem Fall passt die Meldung zwar nicht zum eigentlichen
Denkfehler, aber der ist mit der Hilfe schnell behoben.
Außerdem sucht der Compiler nicht erst alle möglichen Fälle ab sondern fängt an
zu meckern, wenn ihm der erste Fehler unterläuft. Und der ist hier das Gleichheitszeichen,
das steht, bevor überhaupt eine Klammer geöffnet wurde.
Re: komische Fehler - meldung
Verfasst: 30.08.2013 17:54
von Kiffi
ich weiß ja nicht, warum Du Dir den Teufel absuchen musst, wenn in der
Meldung eindeutig die Zeilennummer steht, in der der Fehler zu finden ist.
Grüße ... Kiffi
Re: komische Fehler - meldung
Verfasst: 30.08.2013 18:11
von maupa
@ Andesdaf
Ich versteh was du meist, ist auch verständlich, dennoch Compiler ist Compiler, was ist mit Debugger er sollte doch die Fehler ausfiltern und klare Ansage machen, das der Compiler nichts weißt ist mir klar, dafür gibt es Debugger.
@ Kiffi
Mit Hilfe ist alles zu lösen, wenn ich schreibe A$ = 12 bekomme ich Kare ansage, sagt über Zeile und Fehler aus. Wo ist das Problem das genauer zu bestimmen mit Deklaration.
Und Prozedur muss mit „(“ anfangen
Dann schreibe ich:
Irgendwie auch schwachsinnig,
Wenn alles in der Hilfe steht dann brauchen wir überhaupt keine Fehler Meldung.
Um einen Zusammenhang zwischen Deklaration und Prozedur zu finden ist eine Sache. Den eigentlichen Fehler zu finden ist für den Debugger doch auch kein Problem.
Versteh grad nicht wieso, das so ein Problem ist, Fehler Beschreibung genauer zu machen ??
Gruß
Maupa
EDIT:
Beschreibung
Manchmal ist es notwendig, dass eine Prozedur von einer anderen Prozedur aufgerufen wird, bevor sie überhaupt deklariert wurde. Dies ist ärgerlich, da der Compiler dies mit 'Prozedur xxxx nicht gefunden' reklamiert. Das Deklarieren mit Declare kann in diesem konkreten Fall helfen, in dem zu Beginn nur der Kopf ('Header') der Prozedur deklariert wird. Nichtsdestotrotz, die Deklarierung des Headers und die tatsächliche Deklarierung der Prozedur müssen identisch sein (einschließlich der Typen-Angabe nach dem Prozedurnamen).
Für fortgeschrittene Programmierer ist DeclareC verfügbar und wird die Prozedur mit der 'CDecl' anstelle der 'StandardCall' Aufruf-Konvention deklarieren
Wirklich Hilfreich in dem zusammenhang,
Da kommen Anfänger selber drauf-
Re: komische Fehler - meldung
Verfasst: 30.08.2013 18:30
von ts-soft
Der Fehler ist doch die fehlende Procedure, nicht das Declare. Jedenfalls für Compiler
und Debugger, die nicht Hellsehen können

Re: komische Fehler - meldung
Verfasst: 30.08.2013 18:34
von maupa
ich gib auf..
wird wohl an mir legen.. Sry für dem Ärger..
Gruß
MAUPA