06-04-2007 03:44 AM
If I give the command
Module ERR_ROUTINES Ident 01 Inserted 21-JUL-2006 13:44:19 2 symbols
I used to get:
Module ERR_ROUTINES Ident 01 Inserted 30-JUN-2006 11:20:30 1 symbol
How can I get rid of the %INIT function?
06-04-2007 04:26 AM
it might help us if you could specify the version of your pascal compiler, and whether it has changed recently?
If you could also supply an example of the command line used to compile the module, that would help.
If you could generate a simple routine which demonstrates your problem, then you could attach it as a .txt document, which everybody could read.
See the reference manual section 3.3 on page 3-5 for details of the compiler generation of xxxx%INIT modules.
06-04-2007 05:01 AM
- TO BEGIN DO
- TO END DO
- module level schema
Have you added any of these features to your Pascal application lately?
The compiler's logic for "when" to create %INIT routines has not changed much in recent times.
06-04-2007 11:19 PM
I added a TIMESTAMP variable to a
To get the time-stamp, the function
GETTIMESTAMP was used
The log-function is a hidden function in a module that has the ENVIRONMENT attribute
All compilation units that include the PEN-file above will get the %INIT-functions
If I remove GETTIMESTAMP no init-functions are created.
How can I get a time-stamp whithout getting the %init-functions?
06-04-2007 11:38 PM
>> If I remove GETTIMESTAMP no init-functions are created.
So there's your solution :^)
You did without so long, why change now!
>> How can I get a time-stamp whithout getting the %init-functions?
Just curious... why does it bother you?
You asked the compiler for a service,
It deviced the best why it could think of to provide that service, so it's all good now?!
I suspect, but admittedly have not studied this for real, you can create a single function with the GETTIMESTAMP, and call that from those hidden routines. The end result may be better or worse. Dunno
Why not change that to a real looking name, or even a real name? Or at least have to courtesy to sign of with a seemingly real (first) name?
Hein van den Heuvel
06-05-2007 12:24 AM
>>You did without so long, why change now!
We have experienced some application errors during the latest months. The time of the errors could be of some interest when trying to pinpoint the problem :-)
>>Just curious... why does it bother you?
Our software distribution method is quite strange. We compile on a development machine, and link during the installation on the test- and production-machines. If the compiler starts to generate new functions we get link errors when the new modules are being installed and linked together with older modules without the %INIT-functions
>>I suspect, but admittedly have not
>>studied this for real, you can create
>>a single >>function with the
>> GETTIMESTAMP, and call that from
>>those hidden routines. The end
>>result may be better or worse
Thanks, I'll try that!
06-13-2007 08:02 AM
Depending on where you declared the timestamp in the module, it seems the compiler wanted a LIB$INITIALIZE routine to do that initialization.
I'd have to see more detailed source to give a workaround/solution.