执行的程序或函数在未使用显示算子的实现时,会为 set_tposition 等显示算子引发异常
如果您没有使用HDevelop内部显示算子(dev_*),在执行的HDevelop程序或函数中对这些算子的调用将被忽略。但是,如果程序或函数包含其他 "外部" 显示算子(如 set_tposition 或 write_string),而这些算子需要将窗口句柄作为输入参数,那么如果窗口句柄尚未实例化,程序或函数将在该算子处引发异常。通常情况下,在执行程序时不会出现这个问题,因为在大多数情况下,您会使用显示算子的实现。在执行函数时,我们建议您不要使用窗口句柄的外部显示算子。如果做不到这一点,可以将它们放在一个单独的函数中,并只在该函数中使用显示算子的实现。或者,将窗口句柄初始化为-1 这样的值,并在执行外部显示算子之前对其进行测试。
外部函数不能调用本地函数
请注意,本地函数可以调用外部函数,但不能反过来。
为了确保使用HDevelop开发的程序能够在HDevEngine中执行,而不需要任何进一步的操作,所有标准函数(参见 HDevelop 用户向导 )都会在HDevEngine启动时自动加载。
在大多数应用程序中,没有必要使用 UnloadProcedure 明确删除已加载的 HDevelop 函数。原因可能是为了释放内存。
请注意,使用 HDevProcedure 类创建函数时,该函数将与其使用的所有函数一起加载。相反,UnloadProcedure 只删除指定的函数。要删除自动加载的函数,可以使用 GetLoadedProcedureNames 查询它们的名称,然后将其删除(如果确定它们未被其他已加载的函数使用!),或者使用 UnloadAllProcedures 卸载所有外部函数。请注意,在调用 UnloadProcedure 或 UnloadAllProcedures 后,GetProcedureNames 仍会返回已卸载函数的名称。