[comp.sys.mac] Changes in 4D V2.0 ?

yvw@gmdzi.UUCP (Yvo Van Wezemael) (09/20/88)

A few days ago Alexis Rosen asked if someone has some information on
the changes which come with the next release of 4th Dimension. ACI
Germany wasn't able to give detailed information beside the fact that
the EXECUTE procedure should go away (I didn't liked the construct
anyway, but I hope that I will be able to pass files etc. as
parameters now) and external procedures don't work any more. (I hope
the meant that I have to recompile/reload into 4D, if the feature of
external procedures goes away, thanks god...) 
I'm not sure this information is right (ACI Germany is new...), but
any more topics are very welcome.

					--- Yvo


-- 
Yvo Van Wezemael:
	German National Research Laboratory for Computer Science (GMD)
        P.O. Box 1240 (Schloss Birlinghoven)   D-5205 Sankt Augustin 1
	phone: (+49 2241) 142422	yvw@gmdzi.UUCP 

liemandt@lindy.Stanford.EDU (Joe Liemandt) (09/21/88)

In article <837@gmdzi.UUCP> yvw@gmdzi.UUCP (Yvo Van Wezemael) writes:
>A few days ago Alexis Rosen asked if someone has some information on
>the changes which come with the next release of 4th Dimension. ACI
>Germany wasn't able to give detailed information beside the fact that
>the EXECUTE procedure should go away (I didn't liked the construct
>anyway, but I hope that I will be able to pass files etc. as
>parameters now) and external procedures don't work any more. (I hope
>the meant that I have to recompile/reload into 4D, if the feature of
>external procedures goes away, thanks god...) 
>I'm not sure this information is right (ACI Germany is new...), but
>any more topics are very welcome.
>
>					--- Yvo

This is partially true.  The execute statement will be available for use and
backward compatibility.  But if you use the execute statement, you
are not guaranteed compatibility with the 4D compiler that is coming out.
There is no easy way for the compiler to parse your statement at compile time
because most statements that use the execute command rely on the value of
a variable. So, if you want to compile your apps, don't use the EXECUTE
statement.  But if you are just going to be running in the 4D environment,
go ahead.

For those of you who are curious.. the execute statement allows you to build
commands on the fly. It is very useful instead of a long case statement.
For example, if you had a different layout for each user, and the user variable
contained the user name, you could use
            EXECUTE ("Input Layout("+User+")")
to set the correct layout. Instead of
            Case of
                :(User="person1")
                  Input Layout("Person1")
                :(User="person2")
                   Input Layout("Person2")
                 etc...
            End Case
As far as external procedures going away, this is not true. They will be
enhanced greatly.  What they may have meant is that a few routines put out
by ACIUS access 4D's variable table.  In 2.0 the variable table is being
done totally different, so these externals will not work properly.



Joe Liemandt
Stanford University