komische Fehler - meldung

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
maupa
Beiträge: 93
Registriert: 12.12.2004 12:17

komische Fehler - meldung

Beitrag von maupa »

Bild

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
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: komische Fehler - meldung

Beitrag von Kiffi »

was ist daran 'schwachsinnig'?

Mit Declare werden Prozeduren deklariert und nicht Variablen.

Grüße ... Kiffi
Hygge
maupa
Beiträge: 93
Registriert: 12.12.2004 12:17

Re: komische Fehler - meldung

Beitrag 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
Benutzeravatar
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

Beitrag von ts-soft »

Das mit schwachsinnig lassen wir erstmal sein, weil der Bug sitzt wie meist vorm Bildschirm :wink:

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 :wink: und Du meinst der Compiler sei schwachsinnig, wo
er zumindest in diesem Falle "intelligenter" zu sein scheint :mrgreen:

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.
Bild
maupa
Beiträge: 93
Registriert: 12.12.2004 12:17

Re: komische Fehler - meldung

Beitrag 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ß
Zuletzt geändert von maupa am 30.08.2013 17:54, insgesamt 1-mal geändert.
Andesdaf
Moderator
Beiträge: 2660
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Re: komische Fehler - meldung

Beitrag 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.
Win11 x64 | PB 6.00 (x64)
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: komische Fehler - meldung

Beitrag 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
Hygge
maupa
Beiträge: 93
Registriert: 12.12.2004 12:17

Re: komische Fehler - meldung

Beitrag 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:

Code: Alles auswählen

 (Procedure GetDiskFull(Lfwrk))
EndProcedur
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-
Zuletzt geändert von maupa am 30.08.2013 18:31, insgesamt 1-mal geändert.
Benutzeravatar
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

Beitrag von ts-soft »

Der Fehler ist doch die fehlende Procedure, nicht das Declare. Jedenfalls für Compiler
und Debugger, die nicht Hellsehen können :mrgreen:
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.
Bild
maupa
Beiträge: 93
Registriert: 12.12.2004 12:17

Re: komische Fehler - meldung

Beitrag von maupa »

ich gib auf..

wird wohl an mir legen.. Sry für dem Ärger..

Gruß
MAUPA
Antworten