Re: Modifying the Euphoria interpreter
- Posted by Robert Craig <rds at RapidEuphoria.com> Jun 12, 2007
- 558 views
CChris wrote: > > Pete Lomax wrote: > > > > CChris wrote: > > > > > > Robert Craig wrote: > > > > > > > > If you try to *execute* an open_dll under DOS, > > > > > > PS: if indeed mentioning open_dll() will cause ex.exe to error out because > > > it is not supported under DOS32, even though it will never execute the > > > function, then I'll have to use the machine_func() equivalent, that's all > > > it will take I bet. Thanks for pointing this potential problem out. > > > > I felt Rob was pretty clear on that. An "if platform()=WIN32" wrap around > > the > > open_dll() call (and etc) should be fine. > > > > Regards, > > Pete > > No, it's even worse than that. > Remember that, if ex.exe tries to compile a program which mentions > open_dll(), it errors out even though the the function won't ever be > executed because the call is protected by a "if platform()=??? then". > The error is generated before the platform dependent code is removed. > But replacing the call with "machine_func(50,"kernel32.dll") won't hurt. This works fine for me with ex.exe:
include dll.e procedure foo() atom x x = open_dll("xxxxx.dll") end procedure puts(1, "No problem")
Regards, Rob Craig Rapid Deployment Software http://www.RapidEuphoria.com