我想把以下俩小段代码在DLL中只用一个过程或者函数表示出来,以后在程序中动态调用或者静态调用。我是初学者,请大家帮忙写一下。另外问一下这样的DLL在程序中用动态调用比较好还是静态调用比较好?
这是第一个:
i:=0;
tmp_floor[i]:=' dbo.Dict_RoomName.floor_ID <> 222 ';
DataModule2.tb_dict_floor.first;
while not DataModule2.tb_dict_floor.Eof do
begin
i:=i+1;
tmp_floor[i]:=' dbo.Dict_RoomName.floor_ID ='+inttostr( DataModule2.tb_dict_floor['floor_ID']);
cb_floor.Items.Add( DataModule2.tb_dict_floor['floor_name']);
DataModule2.tb_dict_floor.Next;
end;
这是第二个:
i:=0;
tmp_roomstate[i]:=' dbo.Dict_RoomName.ROOM_STATEID <> 222 ';
DataModule2.tb_dict_roomstate.first;
while not DataModule2.tb_dict_roomstate.Eof do
begin
i:=i+1;
tmp_roomstate[i]:=' dbo.Dict_RoomName.ROOM_STATEID ='+inttostr(DataModule2.tb_dict_roomstate['ROOMSTATE_ID']);
cb_roomstate.Items.Add( DataModule2.tb_dict_roomstate['roomstate_name']);
DataModule2.tb_dict_roomstate.Next;
end;
这是第一个:
i:=0;
tmp_floor[i]:=' dbo.Dict_RoomName.floor_ID <> 222 ';
DataModule2.tb_dict_floor.first;
while not DataModule2.tb_dict_floor.Eof do
begin
i:=i+1;
tmp_floor[i]:=' dbo.Dict_RoomName.floor_ID ='+inttostr( DataModule2.tb_dict_floor['floor_ID']);
cb_floor.Items.Add( DataModule2.tb_dict_floor['floor_name']);
DataModule2.tb_dict_floor.Next;
end;
这是第二个:
i:=0;
tmp_roomstate[i]:=' dbo.Dict_RoomName.ROOM_STATEID <> 222 ';
DataModule2.tb_dict_roomstate.first;
while not DataModule2.tb_dict_roomstate.Eof do
begin
i:=i+1;
tmp_roomstate[i]:=' dbo.Dict_RoomName.ROOM_STATEID ='+inttostr(DataModule2.tb_dict_roomstate['ROOMSTATE_ID']);
cb_roomstate.Items.Add( DataModule2.tb_dict_roomstate['roomstate_name']);
DataModule2.tb_dict_roomstate.Next;
end;
解决方案 »
- sha256 密钥是怎么加的?
- 用代码判断窗体form2是否已经关闭,如果已关闭,则显示这个窗体
- 请问指针如何作为参数传递?50分相赠!
- 知道一个窗体的句柄,如何在该窗体建立鼠标钩子
- 怎么能得到远程SQL SERVER 服务器是否运行...
- 连接其他电脑的上的数据库(vfp的或access的),有什么好方法?
- 一个简单的SQL语句问题,关于分组,答对马上给分。
- Mis开发小工具-TBillNos(单据号码获取控件)
- 如何解决file not found 'dbf.dcu'。。。。急!!!
- 今天我过生日!送分300!
- 如何在colorbox下显示规定的颜色!
- 讨论一下DELPHI开发人员学习VC++的困难和解决办法,能者多劳,多劳多得。
i := 0;
if AddFloor then begin
// 第一段代码
end else begin
// 第二段代码
end;静态Dll加载方便,动态灵活性能,看着办吧,一般我用静态的(自已的DLL总是会用到的吧)。
SysUtils, Classes, ...{$R *.res}var
Bak_ExitProc: Pointer;procedure DoExit;
begin
// Dll释放代码
ExitProc := Bak_ExitProc;
end;procedure MyProcedure(...); stdcall;
begin
// 你的代码
end;Exports
MyProcedure;begin
Bak_ExitProc := ExitProc;
ExitProc := @DoExit;
// Dll初始化代码
end;