急!!为什么这段代码会提示" ','or ';'expected but'IN' found"? ( 积分: 50 )

  • 主题发起人 主题发起人 冰冷的雨
  • 开始时间 开始时间

冰冷的雨

Unregistered / Unconfirmed
GUEST, unregistred user!
unit untCommFunctions;

interface

uses
Windows, Dialogs, Classes, SysUtils,
untLanAngelConsts in 'untLanAngelConsts.pas';

type
....
 
unit untCommFunctions;

interface

uses
Windows, Dialogs, Classes, SysUtils,
untLanAngelConsts in 'untLanAngelConsts.pas';

type
....
 
把untLanAngelConsts in 'untLanAngelConsts.pas';放在工程文件里。
引用里只要用untLanAngelConsts就好了吧。
 
可是把 in 'untLanAngelConsts.pas'去掉, untLanAngelConsts单元中的定义的所有常量
都会提示没有申明(Undeclared identifier)。

unit untLanAngelConsts;

interface

implementation

resourcestring
//系统错误信息
rsERR_PROGRAM_BE_RUN = '%s: 程序已经运行!';
rsERR_MUTEX_NAME_COLLISION = '互斥对象资源冲突!';
end.

在untCommFunctions单元中引用资源串:
MessageDlg(format(rsERR_PROGRAM_BE_RUN,[aMutex]),mtError,[mbOK],0);
 
这样的问题也没有人知道吗?
 
只要再Implementation里加uses untLanAngelConsts;就行了吧。
如果找不到文件,就把'untLanAngelConsts.pas'加到Project里,Shift+F11
 
呵呵只要Uses一下这个单元就可以了啊
 
TO flyjimi:两种方法都用了,前者对untLanAngelConsts单元中的定义的所有常量
都会提示没有申明(Undeclared identifier);后者提示&quot
','or ';'expected but'IN' found"。

To muhx:就是USES这个单元的时候出错呀
 
是用Delphi菜单Project->Add to Project..添加的单元么?
 
在implementation部分申明的所有变量,常量,函数等都只能在本unit中访问, 要在其他unit中也能访问请将定义放在Interface部分(implementation关键字前面)
 
To flyjimi: 是的.
To Another_eYes: 谢谢,这个问题没注意. 可是改了之后问题依旧
 
应该没有问题了, 除非你的untLanAngelConsts.pas不在delphi可搜索目录下, 如果不是和.dpr在同一个目录下的话需要在tools->Environment Options->library下将untLanAngelConsts.pas所在目录添加进去
 
tools->Environment Options->library中已经包含了该单元的路径[:(]
 
哈哈我找到你的错误了
前一次没有注意看你的单元
你的定义要写在interface

implementation
之间,你写在implementation后面当然不是全局变量了,只对所在的单元有效,只有在interface后才可能外部可见。
给分吧,嘿嘿
 
不好意思没有看到Another_eYes大侠已经提出了这点,Sorry
另外将resourcestring改成const先试一下。
将所在单元放在.dpr所在路径下试一下
一点一点排除原因
 
你是要防止多次运行同一程序吧?这一段代码(整个代码段,而不是一行)应该放在工程文件(project)中的不能放在单元文件(unit)中。打开工程文件,查看源代码,把这一段放进去。
 
unit untLanAngelConsts;

interface
resourcestring
//系统错误信息
rsERR_PROGRAM_BE_RUN = '%s: 程序已经运行!';
rsERR_MUTEX_NAME_COLLISION = '互斥对象资源冲突!'

implementation
end.
------------------------
楼主,我试了,把你的单元改成这样就可以了。把分给我吧,谢谢。
 
不好意思,两天没来看.
TO newsmile: 我是想做一个公共类,编程的时候在工程文件中引用该单元就行了,而不用每次都写一段代码来防止多次运行同一程序
TO babibean:见Another_eYes大大的帖.
 
问题还是没解决,可能是我的DELPHI有点问题.也结了吧.不好意思,分少了点
要分的兄弟可以到
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1854184

http://www.delphibbs.com/delphibbs/dispq.asp?lid=2479487
去领
 
后退
顶部