initialization
  OleInitialize(nil);
finalization
try
  OleUninitialize;
except
end;
我把上面一段代码加到主窗口代码的所有语句后面(在最后的结束标志end.之前),为什么编译时出错?
错误为[Error] Main.pas(322): Illegal character in input file: ' ' ($A1A1)

解决方案 »

  1.   

    你这句应该没有问题的,我在d6中一直是这样使用,不过,我没试过用try..except,但刚才试了一下,也没问题.根据提示,在main.pas文件的322行,你使用了非法的字符合,也许你的代码是从网页拷贝过去的,带有一些不可见的字符,才会出错.
    重申一下,这样的表达没问题!
      

  2.   

    aiir ii朋友确实厉害,我的确是从网页上直接copy下来的,但还是想不通,明明一模一样,为什么只有从新输入才行呢?其根本的底层的原因在哪里?难道编译器只认识单字节的字符而不认Unicode码的双字节字符吗?
      

  3.   

    我从新输入后编译还是不行,错误为:
    [Error] Main.pas(322): Undeclared identifier: 'OleInitialize'
    [Error] Main.pas(324): Undeclared identifier: 'OleUnInitialize'
    我的文件里已经包含了ComCtrls, OleCtrls  ,
    这是怎么回事呢?
      

  4.   


    uses 中加入ActiveX单元就好了
      

  5.   

    谢谢楼上的朋友,我也刚刚在别人的一个工程中发现是少加了ActiveX的原因。
      

  6.   

    从网页上拷贝,或者从word之类,拷贝的东西都是带格式的,只不过不同的接收程序,能处理,分解出自己能接收的格式.
    象网页,经常包含不少转义符,而且经常是不可见的!
    而且,delphi好象也不能处理双字节的源代码!