Use Shellapi在private下声明了一个过程procedure myURLink(URL:PChar);procedure myURLink(URL:PChar);
begin
  ShellExecute(0, nil, URL, nil, nil, SW_NORMAL);
end;在另一个过程中调用:myURLink('mailto:[email protected]');编译的时候一直报错:
[Error] NewOrder.pas(38): Unsatisfied forward or external declaration: 'NewOrder.myURLink'请教这是什么意思?谢谢!

解决方案 »

  1.   

    ShellExecute()方法如何使用,参数是什么意思?谢谢
      

  2.   

    myURLink是私有过程,不能被别的类引用。想引用的话
    就不能写在在private下了
      

  3.   

    procedure myURLink(URL:PChar);
    begin
      ShellExecute(0, nil, URL, nil, nil, SW_NORMAL);
    end;
    中的myURLink加上类名————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  4.   

    否则就将myURLink声明在类的外面。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  5.   

    我在我的電腦上試過你的代碼,很正常, 出現上面的提示, 我懷疑是,你的代碼是從網頁上或其它地方拷貝的, 帶有格式化的字符, 所以才會出錯, 你重新輸入代碼,或拷貝到 記事本 再拷貝回 delphi,應該可解決!
      

  6.   

    myURLink加上类名就可以了,是什么原因?刚接触delphi还请高手指教,谢谢!
      

  7.   

    关于shellexecute()
    有三个API函数可以运行可执行文件WinExec、ShellExecute和CreateProcess。CreateProcess因为使用复杂,比较少用。 
        WinExec主要运行EXE文件。如: 
        WinExec('Notepad.exe Readme.txt', SW_SHOW); 
        ShellExecute不仅可以运行EXE文件,也可以运行已经关联的文件(需要在Uses部分加上shellapi)。如: 
        ShellExecute(0, 'open', 'http://askpro.yeah.net', nil, nil, 0);
    ShellExecute第六个参数为为执行文件运行方式(SW_HIDE,SW_MAXIMIZE,SW_MINIMIZE,
    SW_RESTORE,SW_SHOW,SW_SHOWDEFAULT,SW_SHOWMAXIMIZED,SW_SHOWMINIMIZED,
    SW_SHOWMINNOACTIVE,SW_SHOWNA,SW_SHOWNOACTIVATE,SW_SHOWNORMAL);
       具体请看帮助
      

  8.   

    myURLink在privite中声明,就表明是该类的一个方法,在声明中语法要求加上所属的类。如果在类以外声明,比如在程序的执行部分
    implementation
    {$R *.dfm}
    声明就不需要了。
    提示:
    [Error] NewOrder.pas(38): Unsatisfied forward or external declaration: 'NewOrder.myURLink'
    意思是声明格式不满足,当声明的方法和调用的方法同名但是格式不一致时也会这样提示