DatObjCreate error 20613

Hello,

I would like to create DataObject (datobjcreate) with the name “$tlog” like this:

brsmemset(ADR(datobjcreate), 0, SIZEOF(datobjcreate));
datobjcreate.enable := 1;
datobjcreate.pName := ADR('$tlog');   // Name of temporary data module
datobjcreate.len := 200*1024;
datobjcreate.MemType := doTEMP;			// Temporary data object (DRAM, only for SG4)
datobjcreate.Option := doNO_CS;          // No checksum

datobjcreate();

and when I call this FB I get error 20613 (doERR_TOOLONG_MODULNAME; Module name too long (max. 10 characters)). What is here exactly the problem, it is not the length of the name. I am using AS4.9 , AR G4.90; CPU 5PPC220_AL02…
Thanks for answer!

Hi @Matjaz_Kopac,

I assume the $ in the name is the problem.
I can’t try it out right now, but either $ is reserved for logger modules or you have to mask the $ by another $ as in ST the $ is used as escape character in strings like a \ in C.

So please try ADR(‘$$tlog’); and if it’s still not working please avoid the $ character.

Best regards!