Seltsame Fehlermeldung bei #ifndef ... Not allowed outside .

Sonstiges (nicht kategorisierbar)

Moderator: Moderatoren

Antworten
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Seltsame Fehlermeldung bei #ifndef ... Not allowed outside .

Beitrag von brandelh »

Hi,

ich war eben fast am verzweifeln, weil ich in einer CH Datei und der zugehörigen PRG immer den Fehler erhielt:

Code: Alles auswählen

xpp /q /W /N /M /WI /WN /WL /es /P /b /dDEBUG @c:\temp\07106389.tmp
HBTools4XB.ch(4:0): error XBT0200: Syntax Error
TESTHBT.PRG(4:0): error XBT0204: Statement not allowed outside procedure or function
Processing time:      0.05 secs.
*** Process "K:\XPPW32\bin\Pbuild.EXE" terminated. Return code=2
die betreffende Zeile war diese:

Code: Alles auswählen

#ifndef _HBTools4XB.CH_
da #ifndef am Anfang fast jeder CH steht, kann es der Befehl selbst nicht sein.

Die Lösung ? Es ist der Punkt bei ".CH", alle anderen haben dort ein "_CH", nachdem ich also die Zeile abändere

Code: Alles auswählen

#ifndef _HBTools4XB_CH_
ist alles OK !

Steht das irgendwo ?
Gruß
Hubert
Benutzeravatar
komnick
UDF-Programmierer
UDF-Programmierer
Beiträge: 75
Registriert: Mi, 04. Jun 2014 9:56
Wohnort: Berlin
Hat sich bedankt: 1 Mal
Danksagung erhalten: 5 Mal

Re: Seltsame Fehlermeldung bei #ifndef ... Not allowed outsi

Beitrag von komnick »

In der Dokumentation steht bei #define über die definierten Konstanten: "Sie beginnen mit einem Buchstaben oder Unterstrich und bestehen ansonsten aus alphanumerischen Zeichen."
Aber wie ist "alphanumerisch" definiert?
Also gefühlsmäßig sind das für mich Buchstaben, Ziffern und der Unterstrich, aber keine sonstigen Sonderzeichen...
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Seltsame Fehlermeldung bei #ifndef ... Not allowed outsi

Beitrag von brandelh »

:arrow: http://de.wikipedia.org/wiki/Alphanumerische_Zeichen

nunja, hauptsache man merkt es sich ;-) KEIN PUNKT bei Define ... wobei das eigentlich klar ist,
wenn man bedenkt, dass ja auch ZAHLENWERTE per DEFINE definiert werden können ! :banghead:
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: Seltsame Fehlermeldung bei #ifndef ... Not allowed outsi

Beitrag von Koverhage »

Häh ?
Als Variableninhalt ja
Beispiel

#define Altergefuehlt 60

aber ja nicht als Zahlenwert
#define 60
Gruß
Klaus
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15688
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: Seltsame Fehlermeldung bei #ifndef ... Not allowed outsi

Beitrag von brandelh »

Klaus,

das meinte ich doch ;-)

Code: Alles auswählen

#define nWert 65.3323
intern wird das dann so umgebaut, dass danach die Syntax nicht mehr stimmt.
Daher der genannte Fehler. Hier mal der Ausschnitt aus der PPO Datei:

Code: Alles auswählen

#line 1 "K:\XPPW32\INCLUDE\Common.ch"@"Common.ch" 
#line 7 "TESTHBT.PRG" 
#line 1 "HBTools4XB.ch"@"HBTools4XB.ch" 

.CH_

#line 8 "TESTHBT.PRG" 

procedure main
Klar dass er das anmeckert: .CH_

ICH brauchte allerdings eine Zeit bis ich erkannte woran es lag, daher mein Hinweis hier.
Gruß
Hubert
Antworten