G’day Tim,

Thanks for your comprehensive answer.


> On 19 Feb 2018, at 03:29 AEDT, Tim Nevels via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> With what Jörg experienced, I think my suspicions have been confirmed. 4D has 
> been doing some “sneaky” things regarding the compiler, and that has changed 
> with v16. ...
> 
> This would explain what I have been seeing randomly and what Jörg saw on a 
> massive scale. His Compiler Methods were incomplete and he didn’t realize it. 
> The variable typing cache objects were being used. Or could be 4D decided his 
> cache was bad and needed to be dumped and recreated. 

> So for v16 the secret variable typing cache is no longer being used like it 
> was before. Something has changed. I’m guessing it is still there and being 
> used for local variables. But for parameters it is ignored now and Compiler 
> Methods are the exclusive place for parameter typing. 

What ever they did it is f***** bad because they again didn’t let us know what 
to look for and what to change/expect ( I don’t want to bring up that 
“Primary-Key”-bullshit again)

As a fact: From v16 onwards ALL variables, even the ones created with those 
4D-predesigned forms (eg. Splitters), have to be declared in “compiler_$$$” 
methods.

Praise the gods, a(nother) new 4D-era has arrived

By the way, every variable I myself ever used in my structures I declared in my 
“Compiler_$$$” methods.

I’m in the phase of calming down/recovering  after my main (core) structure was 
nuked by this new Typing-crap.


In the hope to not be bothered again by this new 4D “feature” here is my 
workaround:

        - add a prefix to the name of all “compiler_******” methods
        - compiler settings: “Compiler Methods for…”
                                Variables:              Compiler_Process
                                Interprocess Variables: Compiler_Interprocess
                                Arrays:                 Compiler_Process
                                Interprocess Arrays:    Compiler_Interprocess
                                Methods:                Compiler_Methods
        
        - Run “Compiler_Process” and "Compiler_Interprocess“ at application 
Startup time
        - Run “Compiler_Process” in every new process *you* start

        - After changes and before compiling delete the content of the 
“Compiler_xyz” methods and let 4D retype

        - and as always for a while now: Take cover before you confirm/save a 
change in your 4D-Development… 



> Another great 4D implementation question for the 4D engineers at 4D Summit. 

Ohh, you want to ask questions. 

Hmmm, you must be the diplomatic type. ;-)

Cheers
Jörg


Regards
Jörg Knebel, M.Eng. - 4D Developer since 1991
TTT Data Systems Pty Ltd
Phone: +61 (0)2 6601 7453
www.tttdatasystems.com.au <http://www.tttdatasystems.com.au/>
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**********************************************************************

Reply via email to