Warning: strpos() [function.strpos]: needle is not a string or an integer in /home/beardedd/public_html/home/comments.php on line 34
hOme.beardedDonkey - KVS Build Error Found character '}' (Unicode 7d) where an instruction was expected
KVS Build Error Found character '}' (Unicode 7d) where an instruction was expected 
There is an error that you can get when building your KVS code and it tells you it found a curly brace when it shouldn't.

This can happen if you start writing a section of code and then forget about it and lose track of where you were in the Code Editor. This error is saying to you, "you've left out a curly brace or a parenthesis or something" and it will report to you a line number but this is the problem. The line number given sometimes is not helpful. In my case, it said:
[15:11:46] [KVS] Compilation error: Found character '}' (Unicode 7d) where an instruction was expected
[15:11:46] [KVS] In script context "kvirc::corecall(run)", line 978, near character 5
[15:11:46] [KVS] Code listing:
[15:11:46] [KVS] 976 ...
[15:11:46] [KVS] 977
[15:11:46] [KVS] 978 }
[15:11:46] [KVS] 979 }
[15:11:46] [KVS] 980 ...
[15:11:46] [KVS] Window:
[15:11:46] [KVS] classeditor [ID: 24]

So I knew what the problem was, and I knew it was in my classes code ("Window: classeditor" but it said "script context kvirc::corecall(run), line 978". This is not that helpful because when you're using Code Editor inside KVIrc all the code is split into classes and functions so line numbers don't match what you're looking at.

How to find the location of the problem


The way to find where this problem is, is to do the following:
1. In Class Editor, click Save button
2. Next, opposite click the class in the Class Editor's hierarchical tree and export the classes code to a new temporary file somewhere (keep a backup of your old classes code just in case)
3. Now go to Scripting -> Execute Script in KVIrc and select the file you just exported. KVIrc will try to load the code but fail with the same error it found before. But this time it will give you a line number you can actually find. In my case it said:
[16:16:38] [KVS] Compilation error: Found character '}' (Unicode 7d) where an instruction was expected
[16:16:38] [KVS] In script context "F:/temp/classes.kvs", line 2598, near character 5
[16:16:38] [KVS] Code listing:
[16:16:38] [KVS] 2596 ...
[16:16:38] [KVS] 2597
[16:16:38] [KVS] 2598 }
[16:16:38] [KVS] 2599 }
[16:16:38] [KVS] 2600 ...
[16:16:38] [KVS] Window:
[16:16:38] [KVS] classeditor [ID: 24]

Now I could go to the exported file, line 2598, and see the section of my code that was causing the problem.

Ohthankgoodness.

Comments 
Comments are not available for this entry.