komische Fehler - meldung
Re: komische Fehler - meldung
was ist daran 'schwachsinnig'?
Mit Declare werden Prozeduren deklariert und nicht Variablen.
Grüße ... Kiffi
Mit Declare werden Prozeduren deklariert und nicht Variablen.
Grüße ... Kiffi
Hygge
Re: komische Fehler - meldung
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:
Und das passt..
In der Deklaration hat der Fehler nichts zu suchen.. man sucht sich doof-->>>> ich bin nicht inerhalb einer 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
In der Deklaration hat der Fehler nichts zu suchen.. man sucht sich doof-->>>> ich bin nicht inerhalb einer Prozedur
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: komische Fehler - meldung
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
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
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Re: komische Fehler - meldung
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ß
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ß
Zuletzt geändert von maupa am 30.08.2013 17:54, insgesamt 1-mal geändert.
Re: komische Fehler - meldung
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.
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.
Win11 x64 | PB 6.00 (x64)
Re: komische Fehler - meldung
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
Meldung eindeutig die Zeilennummer steht, in der der Fehler zu finden ist.
Grüße ... Kiffi
Hygge
Re: komische Fehler - meldung
@ 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-
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:
Code: Alles auswählen
(Procedure GetDiskFull(Lfwrk))
EndProcedur
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-
Zuletzt geändert von maupa am 30.08.2013 18:31, insgesamt 1-mal geändert.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: komische Fehler - meldung
Der Fehler ist doch die fehlende Procedure, nicht das Declare. Jedenfalls für Compiler
und Debugger, die nicht Hellsehen können
und Debugger, die nicht Hellsehen können
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Re: komische Fehler - meldung
ich gib auf..
wird wohl an mir legen.. Sry für dem Ärger..
Gruß
MAUPA
wird wohl an mir legen.. Sry für dem Ärger..
Gruß
MAUPA