關於delphi7 activex的學習備忘
步驟:1、先建立activex工程檔案;
2、註冊activex檔案(ocx檔案) ;
3、編寫相應呼叫activex檔案(.ocx檔案)的html檔案.
具體操作流程如下:
步驟1:
a、選擇file->new->other ,activex頁面,選擇activex form ;
b、填寫new activex name:,其他的不用做變動(不好意思,我也不知道其他的什麼意思);
c、成功建立activex form,儲存工程,三個檔案 (aaimpl1.pas、aaproj1.dpr加入activex name為aa);
d、aaproj1_tlb、aaproj1、aaimpl1;
e、增加介面(兩種方法):
1、選中aaimpl1單元,即選中activex form,在delphi的edit選單中選擇add to inte***ce...;
1> 在add to inte***ce 視窗中加入介面func:function func(x1,x2 :integer) : integer ;
2>最後ok就可以,delphi會自動幫你檢查語法,如果語法或者引數型別或者返回值型別不對,delphi開發環境會自動給出提示。
3>注意:該介面函式有兩個引數 x1、x2,為integer型 ,返回值也為integer;
4>引數和返回值型別說明:integer --long;string為bstr或者widestring ;
2、選中aaimpl1單元,即選中activex form, 在delphi的view選單中選擇type library;
1> 在aaproj1.tlb 視窗中,在左側列表中選擇iaa,即選中iaa介面,右鍵->new->method或者在在工具欄中選擇new method ,接著給方法命名test;
2>選中test,在選擇視窗右邊的parameters頁面,對該方法進行引數和返回值的進行增加,return type不需要改變;
3>比如test的返回值為string,有乙個string型的引數,則在parameters中增加兩個變數,具體如下
中文說明
name
type
modifier
引數:
svar
bstr
[in] //[in]表示輸入引數
返回值:
sret
bstr*
[out,retvar] //表示輸出結果,type一定要為指標型別,否則出錯,即一定要帶*
則aaimpl1中產生:
function taa.test(const svar: widestring): widestring;
begin
//編寫函式體
result := svar ; //此句為自己編寫
end;
4>引數和返回值型別說明:integer --long;string為bstr或者widestring ;
f、增加屬性property:同樣選中aaimpl1單元,即選中activex form, 在delphi的view選單中選擇type library;
在左側列表中選擇iaa,即選中iaa介面,右鍵->new->property或者在在工具欄中選擇new property ,接著給屬性命名為mystr,
在parameters中修改type為bstr;
function taa.get_mystr: widestring;
begin
//編寫函式體
end;
procedure taa.set_mystr(value: widestring);
begin //編寫過程體
end;
以上為搭建框架,接下來在activex form上增加乙個tbutton(btn_ax)和乙個tedit(edt_ax)控制項
g、回到aaimpl1頁面**視窗中,
function taa.get_mystr: widestring;//得到 mystr
begin
//編寫函式體
result := self.edt_ax.text ;
end;
procedure taa.set_mystr(value: widestring);//設定mystr
begin //編寫過程體
self.edt_ax.text := value ;
end;
procedure taa.btn_axclick(sender: tobject);
begin
self.clickevent(self);
end;
activex form 編輯完畢,project->builder all projects. //編譯工程,生成aaproj1.ocx檔案。
步驟2:註冊activex檔案(ocx檔案) 兩種方法註冊activex檔案:
1、在delphi開發環境中,run-> register activex server //註冊ocx控制項。
2、開始->執行->regsvr32 "ocx檔案所在目錄/aaproj1.ocx".
步驟3:編寫相應呼叫activex檔案(.ocx檔案)的html檔案. 注:如果在delphi 7中可能會麻煩一點,至少我學習時是麻煩啦;方法:
1>project->web deployment options(web部署選項)->project ;
2>target dir(full path of the deployed ocx):選擇或填寫ocx的完整路徑目錄; target url(virtual path of the deployed ocx):填寫 ./; html dir(full path of the deployed html file):選擇或填寫html檔案的完整路徑目錄; 其他選項預設。 注:如果web deployment options為不可用狀態,則在file->new->other->activex->activex form接著刪除掉這個activex form,此時web deployment options為可用狀態啦,他娘的,這種bug 也有人能解決,真人才;
3>project->web deploy ;
至此結束;
源自:
Delphi7遠端除錯
自己的開發機器稱為主機,執行程式的機器稱為目標機 一 在主機編譯執行程式 1 project options linker中的exe and dll options選項組中的include remote debug symbols打上勾,這樣就可以生成rsm為副檔名的檔案,該檔名稱於你的專案同名。2...
Delphi7 動態陣列
初學delphi,感覺.這感覺就是寫 太費勁了,已經習慣了c 那種信手拈來,不能說pascal不適應只能說還是費勁,可能是d7太老了,也可能是我還沒有上道兒,就這麼著吧,下面簡單的寫倆函式作為參考,修改修改可以當c 中的list 用arr array of string procedure add ...
Delphi7 視窗停靠效果
實現目的 實現 ainform 中對dockform 的停靠,相當於 中的工具欄停靠。結果先讓大家看看 靠!看不到!說明 在開始停靠的時候我們先了解一下下停靠在 delphi 在delphi7 中原來就有對 form 等有依靠功能,分別是以下屬性 屬性值 說明drawmode dmautomatic...