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