Page 1 of 1

How to Solve "SUPER" error message?

PostPosted: Sat Jul 11, 2015 4:17 am
by kim yong woo
Dear Sirs,

I am trying to do first etup of sample prg (visual.mak) in FWH\Visual folder using "go.bat" after installation of FWH.
After adjusting basic folders and mak file, the EXE file generated.

But, since there was FWH error message like followings.
Code: Select all  Expand view
Application
===========
   Path and name: D:\fwh\visual\visualfw.exe (32 bits)
   Size: 3,949,568 bytes
   Compiler version: Harbour 3.2.0dev (r1501292255)
   FiveWin  Version: FWH 15.05
   Windows version: 6.2, Build 9200

   Time from start: 0 hours 0 mins 0 secs
   Error occurred at: 07/11/15, 13:01:01
   Error description: Error BASE/1003  Variable does not exist: SUPER

Stack Calls
===========
   Called from: .\INSPECT.PRG => TINSPECTOR:NEW( 49 )
   Called from: .\VISUAL.PRG => TVISUALIDE:NEW( 158 )
   Called from: .\VISUAL.PRG => MAIN( 38 )


So, based on advice on "SUPER" at http://fivetechsupport.com/forums/viewtopic.php?f=3&t=25835&start=0,
I've corrected "SUPER" into "::SUPER" on inspector.prg..

But, even though there was error message on VISUAL.PRG TVISUALIDE:NEW( 158 ), and MAIN( 38 ),
I could not find "SUPER" on those line...

Then there was another    "Error description: Error BASE/1003  Variable does not exist: SUPER" message on
inspect.prg line 49
code.prg line 48
project.prg line 69
project.prg line 96
project.prg line 151

So, I've corrected all "SUPER" into "::SUPER" on inspector.prg..

After these modification, it was possible to compile, and, "PROJECT1.fpr" editor screen was generated, but, when I move cursor by mouse, it ended..

The following was error.log.

Code: Select all  Expand view
Application
===========
   Path and name: D:\fwh\visual\visualfw.exe (32 bits)
   Size: 3,949,568 bytes
   Compiler version: Harbour 3.2.0dev (r1501292255)
   FiveWin  Version: FWH 15.05
   Windows version: 6.2, Build 9200

   Time from start: 0 hours 0 mins 2 secs
   Error occurred at: 07/11/15, 12:38:06
   Error description: Error BASE/1003  Variable does not exist: SUPER

Stack Calls
===========
   Called from: .\DESIGN.PRG => TDESIGNER:MOUSEMOVE( 296 )
   Called from:  => TDESIGNER:HANDLEEVENT( 0 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3405 )
   Called from:  => WINRUN( 0 )
   Called from: .\source\classes\WINDOW.PRG => TWINDOW:ACTIVATE( 1059 )
   Called from: .\VISUAL.PRG => TVISUALIDE:ACTIVATE( 182 )
   Called from: .\VISUAL.PRG => MAIN( 40 )

System
======
   CPU type: Intel(R) Core(TM) i5-3317U CPU @ 1.70GHz 1700 Mhz
   Hardware memory: 3718 megs

   Free System resources: 90 %
        GDI    resources: 90 %
        User   resources: 90 %

   Windows total applications running: 6
      1 ,
      2 , C:\windows\SYSTEM32\SHLWAPI.dll


Was I correct to modify all "SUPER" into "::SUPER"? , or, Shall I modify "SUPER" based on conditions?
How can I correct "SUPER" in Visual.prg?

Thanks...

Re: How to Solve "SUPER" error message?

PostPosted: Sat Jul 11, 2015 3:16 pm
by James Bott
Technically "::super" is correct. The syntax "super" used to be allowed, but then at some point that changed. Now you must use "::super" only.

Re: How to Solve "SUPER" error message?

PostPosted: Sat Jul 11, 2015 3:36 pm
by rhlawek
James is correct. This shows what was changed, and when.

2013-01-10 23:25 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
  * harbour/src/rtl/tclass.prg
  * harbour/src/vm/classes.c
    * declare :SUPER and :__SUPER messages as non virtual ones.
      Now ::SUPER and ::__SUPER messages executed in object method
      returns casting to 1-st super object of the class in which
      executed method was defined.

  * harbour/include/hbclass.ch
    * removed xtranslations for SUPER(): - this workaround for
      missing non virtual messages in some Clipper OOP implementations
      was breaking valid code which tried to use real :SUPER message
      and made SUPER reserved word, i.e. it was not possible to create
      code like:
         LOCAL super := ::parent2
         ? super:v1, super:v2
      Now this hack is not longer necessary and :SUPER is non virtual
      massage in Harbour.
      INCOMPATIBLE: If someone has some code like:
         SUPER():MSG()
         SUPER( PARENT ):MSG()
      then please change it to:
         ::SUPER:MSG()
         ::PARENT:MSG()
 

Re: How to Solve "SUPER" error message?

PostPosted: Sat Jul 11, 2015 3:44 pm
by Antonio Linares
Kim,

I properly updated FWH\visual folder to use bcc7 and current Harbour.

I have emailed you the modified files, thanks