新建了一个单元,里面要用到自定义的消息,结果就出现 Unknow directive:‘Message’的错误。各位大神帮帮忙,我是初学、、、

解决方案 »

  1.   

    未知的指令:Message。错误就在Message附近。
      

  2.   

    定义部分的加message ,在实现的地方就要去掉
     

      const
        WM_MyDLLDATA=WM_USER+1000;private
        procdure CLIENT_CLOSE(var MSG:TMSG);message  WM_MyDLLDATA;....implementationprocdure CLIENT_CLOSE(var MSG:TMSG); 这里不要再有message WM_MyDLLDATA; 
    begin
       ....
    end;
      
      

  3.   

    代码就这样
    interface
    、、、
    const
       WM_MyMsg = WM_USER+100;var
        procedure TrayIconMsg(var Msg : TMessage); Message : WM_MyMsg;
    、、、实现部分还没写呢,试着编译是就出错了
      

  4.   

    代码就这样
    interfaceconst
      WM_MyMsg = WM_USER+100;var
    //这里是声明变量的部分,所以不可以。
      procedure TrayIconMsg(var Msg : TMessage); Message : WM_MyMsg;TMessage你需要uses Windows
      

  5.   

    楼主,你的报错就是定义的地方那个冒号,去掉就正确了。Message : WM_MyMsg--->Message  WM_MyMsg
      

  6.   

    消息应该是某个对象的一个方法。
    估计楼主是在一个PAS文件中直接建立的这个自定义消息过程,这违背了第一行的原则。
    在单元文件中想建立自定义消息,可以通过某个对象,例:类,通过建立该类的一个方法来实现。如果是一个表单,例Form1,在该表单的单元文件unit1的private中建立楼主的自定义消息,则不会报错。楼主可以做个试验:如果将private中定义的那个自定义消息过程移到 var form1:TForm1的下一行定义,编译时同样会出错。