Thank you all for testing
I believe most of the problems are with line 4 in StringClass:
typedef struct StringClassTableStruct StringClassTable,*StringMethods;
It is a forward declaration for the ClassTable structure, which is defined following all the methods
I am using GCC 4.7.0
If this kind of declaration is unsupported by other versions of C then there is a compromise: make the String methods
(void*) / ref class StringClassStruct
begin
//BASE MEMBERS
ref f; // pointer to methods table
int type; // dynamic type code
int offset; // size of this header
int nbytes; // buffer ze for body of data
int count; // number of elements
int size; // size of each element
end
StringClass,*StringObject;
This compromises OOP notation, but its not serious, since it is generally more efficient to to work with dreferenced methods.
((StringMethods)vo->f)->Show(&vo); //ugh!
dim as StringMethods f=vo->f; //methods
f->SetChars(&uo,"LO");
...
I've update the zip here:
http://www.allbasic.info/forum/index.php?topic=283.msg3280#msg3280