library MyDll;uses
//windows,
SysUtils,
//dialogs,
Classes;
//{$R *.RES}
var
//system
ErrorMessage : string;
MyApmodem : TApmodem;
MyTcomport : TComPort;
SaveExit : pointer;
//格式化SHORTSTRING
procedure FormatShortString(var s:shortstring);
var
li_len : integer;
begin
li_len := length(s);
move(s[1],s[0],li_len);
s[li_len] := #0;
end;
//*******************************************************************//
// DLL要输出的一组函数 //
//*******************************************************************//
//获得最后的错误信息
Function Func_GetLastError(out msg : ShortString):integer;stdcall;
begin
msg := ErrorMessage;
FormatShortString(msg);
result := 1;
end;
//3.函数
Function func_dosomething :integer;stdcall;
var
li_return : integer;
begin
ErrorMessage := '';
try
......
except
on E: Exception do
begin
ErrorMessage := string(E.Message);
li_return := -1;
end;
end;
result := li_return;
end;
//自定义DLL退出函数
procedure LibExit;
begin
try
MyApmodem.Destroy ;
Mycomport.Destroy ;
except
end ;
ExitProc := SaveExit; // restore exit procedure chain
end;exports func_dosomething index 1,
func_GetLastError index 2
;
begin
//init
MyApmodem := TApmodem.Create(Myapmodem);
MyComport := Tcomport.Create(MyComport); SaveExit := ExitProc; // save exit procedure chain
ExitProc := @LibExit; // install LibExit exit procedure
end.
//windows,
SysUtils,
//dialogs,
Classes;
//{$R *.RES}
var
//system
ErrorMessage : string;
MyApmodem : TApmodem;
MyTcomport : TComPort;
SaveExit : pointer;
//格式化SHORTSTRING
procedure FormatShortString(var s:shortstring);
var
li_len : integer;
begin
li_len := length(s);
move(s[1],s[0],li_len);
s[li_len] := #0;
end;
//*******************************************************************//
// DLL要输出的一组函数 //
//*******************************************************************//
//获得最后的错误信息
Function Func_GetLastError(out msg : ShortString):integer;stdcall;
begin
msg := ErrorMessage;
FormatShortString(msg);
result := 1;
end;
//3.函数
Function func_dosomething :integer;stdcall;
var
li_return : integer;
begin
ErrorMessage := '';
try
......
except
on E: Exception do
begin
ErrorMessage := string(E.Message);
li_return := -1;
end;
end;
result := li_return;
end;
//自定义DLL退出函数
procedure LibExit;
begin
try
MyApmodem.Destroy ;
Mycomport.Destroy ;
except
end ;
ExitProc := SaveExit; // restore exit procedure chain
end;exports func_dosomething index 1,
func_GetLastError index 2
;
begin
//init
MyApmodem := TApmodem.Create(Myapmodem);
MyComport := Tcomport.Create(MyComport); SaveExit := ExitProc; // save exit procedure chain
ExitProc := @LibExit; // install LibExit exit procedure
end.
解决方案 »
- Excel.Application的一个简单问题
- 查询的问题
- 我们的程序是C/S结构的,现在每次升级软件都非常麻烦,要每台机器去覆盖,请问有没有什么好的解决方案?
- 求解这个函数的意思---------keybd_event(VK_TAB, 0, 0, 0);
- ★★★请教MU木马的盗号原理!纯属讨论!
- 导入到EXCEL中的数据,怎么无法用来求和!?
- 一个普通问题:怎样的到OS的系统目录(用delphi)
- 简单的
- 如何销毁一个FORM
- 关于dephi和sql的问题
- 多表更新的问题很难吗?我在这里翻遍了贴子也没找到满意的答案!
- 我正在做一个题库系统,请问哪里有数学、化学分子式编辑器(因为有些word搞你定) 谢谢!
在apro控件包中有一个Tapdrasdialer控件它封装了微软的RAS远程访问,用它进行拨号连接需要提供用户名及密码还有域。能否永此控件封装dll格式同羊实现上述功能?(我认为用这个RAS技术更具有安全性与可靠性)
希望大家给与帮助!!!!!!