亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        手把手教delphi:寫(xiě)你的dll文件(2)

        字號(hào):

        在Delphi中靜態(tài)調(diào)用DLL top
            調(diào)用一個(gè)DLL比寫(xiě)一個(gè)DLL要容易一些。首先給大家介紹的是靜態(tài)調(diào)用方法,稍后將介紹動(dòng)態(tài)調(diào)用方法,并就兩種方法做一個(gè)比較。同樣的,我們先舉一個(gè)靜態(tài)調(diào)用的例子。
            unit Unit1;
            interface
            uses
            Windows, Messages, SysUtils, Classes, Graphics,
            Controls, Forms, Dialogs, StdCtrls;
            type
            TForm1 = class(TForm)
            Edit1: TEdit;
            Button1: TButton;
            procedure Button1Click(Sender: TObject);
            private
            { Private declarations }
            public
            { Public declarations }
            end;
            var
            Form1: TForm1;
            implementation
            {$R *.DFM}
            //本行以下代碼為我們真正動(dòng)手寫(xiě)的代碼
            function TestDll(i:integer):integer;stdcall;
            external ’Delphi.dll’;
            procedure TForm1.Button1Click(Sender: TObject);
            begin
            Edit1.Text:=IntToStr(TestDll(1));
            end;
            end.
            上面的例子中我們?cè)诖绑w上放置了一個(gè)編輯框(Edit)和一個(gè)按鈕(Button),并且書(shū)寫(xiě)了很少的代碼來(lái)測(cè)試我們剛剛編寫(xiě)的Delphi.dll。大家可以看到我們做的工作是將TestDll函數(shù)的說(shuō)明部分放在了implementation中,并且用external語(yǔ)句指定了Delphi.dll的位置。(本例中調(diào)用程序和Delphi.dll在同一個(gè)目錄中。)讓人興奮的是,我們自己編寫(xiě)的TestDll函數(shù)很快被Delphi認(rèn)出來(lái)了。您可做這樣一個(gè)實(shí)驗(yàn):輸入“TestDll(”,很快Delphi就會(huì)用fly-by提示條提示您應(yīng)該輸入的參數(shù)是什么,就像我們使用Delphi中定義的其他函數(shù)一樣簡(jiǎn)單。注意事項(xiàng)有以下一些:
            一、調(diào)用參數(shù)用stdcall
            和前面提到的一樣,當(dāng)引用DLL中的函數(shù)和過(guò)程時(shí)也要使用stdcall參數(shù),原因和前面提到的一樣。
            二、用external語(yǔ)句指定被調(diào)用的DLL文件的路徑和名稱
            正如大家看到的,我們?cè)趀xternal語(yǔ)句中指定了所要調(diào)用的DLL文件的名稱。沒(méi)有寫(xiě)路徑是因?yàn)樵揇LL文件和調(diào)用它的主程序在同一目錄下。如果該DLL文件在C:\,則我們可將上面的引用語(yǔ)句寫(xiě)為external ’C:\Delphi.dll’。注意文件的后綴.dll必須寫(xiě)上。
            三、不能從DLL中調(diào)用全局變量
            如果我們?cè)贒LL中聲明了某種全局變量,如:var s:byte 。這樣在DLL中s這個(gè)全局變量是可以正常使用的,但s不能被調(diào)用程序使用,既s不能作為全局變量傳遞給調(diào)用程序。不過(guò)在調(diào)用程序中聲明的變量可以作為參數(shù)傳遞給DLL。