小弟初学Delphi,有几个问题,望高手指教!1.窗体的OnDeactivate事件在什么情况下会被触发?2.delphi中怎样在函数执行过程中中途退出此函数?3.在书上看到TMultiplyNum=procedure语句,说是定义过程类型,小弟对Pascal不
  是很了解,不知是怎么回事?4.function PlusNum(X,Y:Integer):Integer;stdcall;external 'DLL1
  \Project1.dll',这是调用DLL的语句,小弟不明白stdcall及external是什么意
  思?5.在TMediaPlayer组件,如设定AutoOpen为false,是否DisplayRect属性就没用了?

解决方案 »

  1.   

    4、指明DLL的地址为当前目录下,dll1文件夹下的DLL文件,这是静态调用DLL的语句
      

  2.   

    1.失去焦点的时候触发
    2.exit;
    3..说也说不清楚
    4,让你可以使用那个dll中的PlusNum函数
    5,不是吧?
      

  3.   

    1.在同一个应用程序中切换到另一个窗口的时候触发,切换到别的应用程序不触发这个事件。
    2.用exit
    3.这是定义过程类型,delphi中有些参数需要过程类型,如组件中的事件,定义方法时也用到,钩子函数,动态调用dll时也有用.
    4.external表示声明的为外部函数,stdcall是指定参数的压栈方式,为从右到左。
      delphi提供了五种压栈方式,默认的为registry,从左到右,而windows为从右到左,所以在做dll时要指定压栈方式与windows统一,才可以供别的程序使用。
    5。不会,你是不是没有指定display属性。
      

  4.   

    我还是不太明白:
    3.如果碰到
       MultiplyNum : TMultiplyNum;定义,那MultiplyNum是不是表示一个过程呢?
    5.我是用一个panel作为display,AutoOpen为true则画面大小是跟DisplayRect规
      定的一样,但如果AutoOpen为false的话,我用Mediaplayer.open运行,画面就是原始大小,并不会根据DisplayRect播放啊!
      

  5.   

    1.在同一个应用程序中切换到另一个窗口的时候触发,切换到别的应用程序不会触发这个事件。
    2.exit;
    3.这是定义过程类型。
    4.指明当前应用程序目录下,dll文件夹下的DLL文件。
    5。不应该呀?