Error E0030 problem and solution

Post Reply
User avatar
Roger Seiler
Posts: 223
Joined: Thu Dec 01, 2005 3:34 pm
Location: Nyack, New York, USA
Contact:

Error E0030 problem and solution

Post by Roger Seiler »

Using xHarbour.com's xBuild compiler, I was getting "Error E0030 Syntax error at '7'". It occurred at a FIELD declaration line, and I determined that '7' had nothing to do with it. The problem was that one of the fields listed had the name "IDNO" all in caps. As soon as I changed it to "IDno" - mixed case - then the problem went away. There was no variable declaration in any .ch files going into the preprocessor that conflicted to account for this. So it seems there can be case sensitivity and maybe some "magic words" that can cause problems.

Anyway, I'm just suggesting that if you get this E0030 error on some variable that is stated all in upper case, you could try changing the case from upper to lower of some characters to see if that will work. It worked for me. Don't know why.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Error E0030 problem and solution

Post by Antonio Linares »

Roger,

Thanks for sharing it.

My advise is to migrate to Harbour, or at least, try to compile that code that fails with it, so you can see if there is a difference.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Patrizio
Posts: 90
Joined: Wed Nov 07, 2007 8:56 am
Location: Italy
Contact:

Re: Error E0030 problem and solution

Post by Patrizio »

IDNO is defined in winuser.ch
User avatar
Roger Seiler
Posts: 223
Joined: Thu Dec 01, 2005 3:34 pm
Location: Nyack, New York, USA
Contact:

Re: Error E0030 problem and solution

Post by Roger Seiler »

Thanks, Patrizio, regarding Winuser.ch . Mystery solved!

Winuser.ch is in ..xhb\include where IDNO is defined as 7, which explains why the error message I got mentioned 7.

Anyone using xHarbour should take a look at Winuser.ch in order to be aware of variable names that get defined there and which could conflict with one's own variable names. Fortunately, all names defined in Winuser.ch are in all-caps, so if every var that you name has a mix of upper and lower case, you won't have a conflict with names used in Winuser.ch .
Post Reply