我正在使用外部.pas文件中的函数。我可以使用一些功能,但不能使用其他功能。据我所知,函数声明方式相同,我想发布一些文件,但不知道发布大量代码。
答案 0 :(得分:5)
文件未正确链接和/或未包含在项目搜索路径中和/或由具有相同函数名称和/或奇数函数的其他文件隐藏在$IFDEF
子句中。
检查拼写,使用子句,工作函数位置( Ctrl +单击代码中的函数名称),$IFDEF
子句。
在每种情况下,如果名称适合,可以从其他文件中获取某些功能。例如。函数gluUnproject可以从OpenGL.pas和dglOpenGL.pas获取,如果第一个单元没有正确链接我会得到你现在遇到的相同问题 - 一些功能有效,一些功能缺失。在任何情况下,您应该编译项目, Ctrl +单击工作函数名称并查看它带给您的位置,检查文件版本位置。
答案 1 :(得分:5)
您可以使用接口部分中声明的函数,即implementation
部分之前的代码部分。
您可能正在尝试调用仅在实现部分中定义的函数,即在implementation
关键字之后显示的代码。
这些不同的部分是Delphi如何在单元级实现公共和私人可见性。
通常,在写得很好的单位中,有一个理由将功能设为私有。但是如果你认为覆盖作者的决定是合理的,那么你需要重新声明接口部分中的函数。这将使您的代码可以使用第三方单元。