[DGD]List-Mail archives

balduin at uni-paderborn.de balduin at uni-paderborn.de
Thu Jan 6 23:19:12 CET 2000


Hello !

> > You don't have permission to access /pipermail/dgd/ on this server.
> 
Sorry I don't know about that in detail ...
but well

> Can you answer for me how compile_object works?  In the auto.c I have 

compile_object() do ::compile_object(), then ::call_other(ob,
> "???") but create() still isn't being called in the compiled object if I do
> the 'compile_object' from a command (say an update command).  If the object
> already exists, is it going to be removed, updated, and recreated ?  (The dgd
> compile_object doc seems to imply this)

Just as reference the documentation to compile_object

SYNOPSIS
        object compile_object(string file)

This means you call compile_object("filename_to_upgrade") and get the
upgraded object. You don't do old_object->compile_object(); So if you write
your tailored compile_object() in the auto object you should't forget to 
pass the arguments.

DESCRIPTION
        [...]
        If the object to be compiled already exists and is not inherited by
        any other object, it and all of its clones will be upgraded to the
        new version.  Variables will be preserved only if they also exist in
        the new version and have the same type; new variables will be
        initialized to 0.  The actual upgrading is done immediately upon
        completion of the current thread.

This means after compile_object the clones just "live" with their old status,
(set of variables and their values - rules for transport of values are given
in the desc) this is no "creation", so create() is not called.

After this the master and all clones are already there, so 
::call_other(ob, "???") will find ob and just try to call function "???" 
which probably isn't there and return 0 as always if you call an non existent 
function in dgd.

If you want to check if compile_object worked properly, you can add a new 
function or change an old one and watch the differences.

Hope this helps, 

Ludger


List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list