主页
Top.Mail.Ru Yandeks.Metrika
论坛:“主要”;
当前存档:2002.07.29;
下载:[xml.tar.bz2];

向下

使用DLL时出错!!! 麻烦:) 找到类似的分支


strel   (2002-07-16 20:09) [0]

当使用这个单元和DLL“ki发出错误
“无效指针操作”(退出程序时)

告诉我!!! 已经是我受苦的那天的3


////////////////////////////////////////////////// ////////////
//文本DLL
////////////////////////////////////////////////// ////////////

unit Unit2;

接口

使用ShareMem,Dialogs;

类型
rec_type =记录
x,y:PChar;
z:字节;
结束;

procedure ShowName(var rec:rec_type); STDCALL;

履行

procedure ShowName(var rec:rec_type); STDCALL;
开始

rec.x:=“xxx”;
rec.y:=“yyy”;
rec.z:= 20;


// ShowMessage(s);
{
s:=“改变”;
ShowMessage(s);
}
结束;

结束。

////////////////////////////////////////////////// ////////////
//使用DLL的单元的文本
////////////////////////////////////////////////// ////////////

unit dll_load_form_u;

接口

使用
ShareMem,Windows,消息,SysUtils,变体,类,图形,控件,表单,
对话框,StdCtrls,按钮;

类型
Tdll_load_form = class(TForm)
GroupBox1:TGroupBox;
SpeedButton1:TSpeedButton;
程序SpeedButton1Click(发件人:TObject);
私人
{私人声明}
公开
{公开声明}
结束;

rec_type =记录
x,y:PChar;
z:字节;
结束;

TMyProc =程序(p1,p2:word);

VAR
dll_load_form:Tdll_load_form;

__Handle:THandle;
__showName:procedure(var rec:rec_type); STDCALL;


履行

过程LoadDll();
VAR
s:字符串;
s1:string;

_rec:rec_type;

开始
s:=“abcdef”;
__Handle:= LoadLibrary(“DLL \ dll_test.dll”);
if(__Handle <32)然后
开始
ShowMessage(“我无法加载Dll!”);
退出;
结束;

尝试
__ShowName:= getProcAddress(__ handle,“_ ShowName”);


__ShowName(_rec);
ShowMessage(_rec.x);


最后

__ShowName:= nil;
FreeLibrary(__ Handle);
__Handle:= 0;
结束

结束;

{$ R * .dfm}

procedure Tdll_load_form.SpeedButton1Click(Sender:TObject);
开始
LoadDll();
结束;

结束。



Serg Gurin   (2002-07-16 23:23) [1]

我有完全相同的问题 - 如果你发现你提出了什么解决方案?
在此先感谢。



NailS   (2002-07-17 10:31) [2]

尽量不要
rec.x:=“xxx”;
а
move(“xxxasrgasdrg”,rec.x,length(“xxxasrgasdrg”));



Страницы: 1 整个分支

论坛:“主要”;
当前存档:2002.07.29;
下载:[xml.tar.bz2];

楼上









内存:0.56 MB
时间:0.028 c
14-95531
恶魔
2002-07-02 16:16
2002.07.29
我仍然对人们感到惊讶


8-95453
Dorex
2002-03-22 11:16
2002.07.29
如何将BMP打破成方块?


1-95415
Igor_
2002-07-16 13:30
2002.07.29
有关对象字段的信息


1-95332
ivlex
2002-07-13 16:22
2002.07.29
写入以完成登录或重新启动


1-95334

2002-07-17 13:24
2002.07.29
宏观替代





南非荷兰语 阿尔巴尼亚人 阿拉伯语 亚美尼亚 阿塞拜疆 巴斯克 白俄罗斯 保加利亚语 加泰罗尼亚 简体中文 中国(繁体) 克罗地亚 捷克 丹麦语 荷兰人 英语 爱沙尼亚语 菲律宾人 芬兰 法文
加利亚西语 格鲁吉亚语 德语 希腊语 海地克里奥尔语 希伯来语 印地语 匈牙利 北日耳曼语 印度尼西亚人 爱尔兰语 意大利语 日本性玩偶 韩语 拉脱维亚 立陶宛 马其顿 马来语 马耳他语 挪威语
波斯语 波兰语 葡萄牙语 罗马尼亚 俄语 塞尔维亚 斯洛伐克 斯洛文尼亚 西班牙语 斯瓦希里 瑞典语 泰国人 土耳其 乌克兰 乌尔都语 越南人 威尔士语 意第绪语 孟加拉 波斯尼亚
宿务 世界语 古吉拉特语 豪萨语 苗族 伊博 爪哇 卡纳达语 高棉 老挝 拉丁语 毛利 马拉 蒙古人 尼泊尔 旁遮普 索马里 泰米尔人 泰卢固语 约鲁巴语
祖鲁
英文 Французский Немецкий Итальянский Португальский 俄文 Испанский