采集卡的问题,我要疯了(100分)

  • 主题发起人 主题发起人 wzs4743
  • 开始时间 开始时间
W

wzs4743

Unregistered / Unconfirmed
GUEST, unregistred user!
我正用一块采集卡开发程序
圆刚出的
但是由于在程序中要用到两路视频的切换,不想用控件的形式,因为它提供的是对话框
而这样当用户每次切换时要在对话框中操作,想用DLL的函数,可是没法调用成功
帮帮兄弟吧!
DLL的名字为AVER32.DLL
含有如下函数声名
bool far pascal _export aver_init(hwnd,bool);
void far pascal _export aver_close(void);
我在程序里是这样写的,可以编译通过,执行时出错
错误提示为access violation at address 00000001 read of address ffffffff
我不知道那里错了,请帮我分析一下
taver_init1=function(nowhwnd:hwnd;overlay:boolean):boolean;stdcall;
taver_init2=procedure;stdcall;
然后在 implementation 内
var
handle:thandle;
l_averinit1:taver_init1;
l_averinit2:taver_init2;
procedure usedll;
begin
handle:=loadlibrary('aver32.dll');
if handle<=0 then
begin
raise exception.create('load dll error');exit end;
@l_averinit1:=getprocaddress(handle,'aver_init');
@l_averinit2:=getprocaddress(handle,'aver_close');end;
procedure tform1.button1click(sender:tobject);
begin
usedll;
l_averinit1(form1.handle,false);
end;
procedure tform1.button2click(sender:tobject);
begin
l_averinit2;
freelibrary(handle);
end;
 
taver_init2=procedure;stdcall;
改为
taver_init2=procedure of object;stdcall;
试试
 
这个采集卡 我用过很多次 十分的成功 但你说的不具体 具体一点
我用的是 EasycaperIII 采集卡,还有园刚的其他的采集卡都用过,注意:他的开发包
不是很好。
可以用dll,或ocx, 如果你没有解决 你可以给我email: chenyingchun@yeah.net
 
如果你的代码讲究一下缩进,我可能还能帮一点点忙
 
多人接受答案了。
 
后退
顶部