Do I see ghosts somewhere?

Public support forum for peer to peer support with related to the Visual Objects and Vulcan.NET products
User avatar
ArneOrtlinghaus
Posts: 412
Joined: Tue Nov 10, 2015 7:48 am
Location: Italy

Do I see ghosts somewhere?

Post by ArneOrtlinghaus »

Thanks, so the list gets still longer. Every VO keyword except some few exceptions like #text seem to be regarded.

The correction of the single case I found until now was simple:
As the program saw #ENDDO instead of #ENDD I only had to substitute all #ENDD occurencies by #ENDDO and the code is ready for X#.
User avatar
Heinrich
Posts: 33
Joined: Wed Feb 10, 2016 4:44 pm

Do I see ghosts somewhere?

Post by Heinrich »

Hello everybody
It is not a mistake, but a function of the old Clipper.
All keywords could be reduced to the first four digits and the compiler translated this correctly. In VO this was still the case.

Regards Heinrich
PS: bevorzuge Konversation in deutsch ;)
Karl-Heinz
Posts: 774
Joined: Wed May 17, 2017 8:50 am
Location: Germany

Do I see ghosts somewhere?

Post by Karl-Heinz »

Hi Arne,

In the CAVO28.EXE i found this:

Code: Select all

CLASS.METHOD.GLOBAL.STATIC.FUNCTION.PROCEDURE.DEFINE.STRUCTURE.ACCESS.ASSIGN.DO.
IFDEF.PRIVATE.PUBLIC.WHILE.IF.FOR.RETURN.PARAMETERS.BEGIN.BREAK.EXIT.LOOP.TEXT.
DECLARE.USUAL.VOID.SHORTINT.INT.STRING.LONGINT.FLOAT.LOGIC.PTR.DATE.PSZ.OBJECT.
CODEBLOCK.WORD.ARRAY.BYTE.REAL4.REAL8.DWORD.SYMBOL.__INLINE.HIDDEN.RECOVER.INHERIT.
INSTANCE.EXPORT.LOCAL.MEMVAR.FIELD.TRUE.FALSE.SELF.SUPER.NIL.END.ENDIF.ELSE.ELSEIF.
WITH.ENDDO.TO.NEXT.EXTERN.IN.AS.ENDTEXT.TEXTBLOCK.SEQUENCE.USING.CASE.MEMBER.OTHERWISE.
ENDCASE.PASCAL.CDECL.ASPEN.CLIPPER.DIM.REF.STEP.IS._WINCALL.DOWNTO.RESOURCE.OF._DLL._CO.
_NC.__LINE__.__ENTITY__.__MODULE__._CAST.PROTECT.IFNDEF.UPTO._INIT1._INIT2._INIT3.
CALLBACK.STRICT.STATUS.BUFFER.F_NAME.F_LEN
it seems that these are the ?last? missing words:

Code: Select all

 
? AsString ( #down ) // DOWNTO   
? AsString ( #aspe ) // ASPEN   
? AsString ( #hidd ) // HIDDEN   
? AsString ( #_win ) // _WINCALL
? AsString ( #_cas ) // _CAST 
? AsString ( #supe ) // SUPER 
? AsString ( #prot ) // PROTECT
? AsString ( #expo ) // EXPORT 
? AsString ( #_ini ) // _INIT1 
? AsString ( #inst ) // INSTANCE  
? AsString ( #decl ) // DECLARE
? AsString ( #othe ) // OTHERWISE 
1. interesting is that it's not possible to use these symbols - no problem to do that with X#

Code: Select all

? AsString ( #fals ) // expected a symbol after #  51115
? AsString ( #true ) // expected a symbol after #  51115
2. but that's really crazy :woohoo:

Code: Select all

? AsString ( #stric ) // ASPEN ???
? AsString ( #strict ) // ASPEN ???
? AsString ( #strictt ) // STRICTT                             
regards
Karl-Heinz
User avatar
ArneOrtlinghaus
Posts: 412
Joined: Tue Nov 10, 2015 7:48 am
Location: Italy

Do I see ghosts somewhere?

Post by ArneOrtlinghaus »

It's a good exercise for training in "black box analisis". From the experimental results we could try to create a model how this could have been implemented and for which reasons...

With your list I have found until now two symbols #endd and #code in our code that may interfere. Fortunately the VO keywords give seldom sense for using as names for database fields.
User avatar
Chris
Posts: 4907
Joined: Thu Oct 08, 2015 7:48 am
Location: Greece

Do I see ghosts somewhere?

Post by Chris »

Hi Heinrich,
Heinrich wrote:Hello everybody
It is not a mistake, but a function of the old Clipper.
All keywords could be reduced to the first four digits and the compiler translated this correctly. In VO this was still the case.
For keywords this is fine, but the problem is VO for some bizarre reason changes symbols as well. So s := #METH becomess := #METHOD under the hood, without the programmer knowing it. At least it does not change strings, so when you use s := "METH", it does not actually become s := "METHOD". Although I must I admit I did not test this... :)
Chris Pyrgas

XSharp Development Team
chris(at)xsharp.eu
Post Reply