多线程调用的函数属系统级别,但写activex控件时写窗体名无效怎么办?(100)

  • 主题发起人 主题发起人 xmali
  • 开始时间 开始时间
X

xmali

Unregistered / Unconfirmed
GUEST, unregistred user!
参考网上的文章:http://www.birdol.com/article/delphi-duoxiancheng-1.html很容易就能写出多线程程序。我现在写的是一个activex form,作为IE控件的,也想让它实现多线程,但:function ReadCardInThread(p: Pointer): Integer;
stdcall;var sett: array [0..13] of Char;
RData: array [0..300] of Char;
Track,Returncode: Integer;begin
sett:= '1,9600,n,8,1';
Track:= 2 ;
Tswingcard_activexform.Label2.Caption:='正在连接读卡器...';最后一句编译总是出错,label2如果不写前缀则报Undeclared identifier:'Label2',而写前缀则无论是写类名还是窗体名都不能通过编译,能否指点一下?谢谢!
 
嗯,“容易就能写出多线程程序”。结果这种低级问题都搞不明白。
 
大富翁是不欢迎低级问题吗,我搜索历史贴子看了很多,写activex多线程的很少。我顶楼的语气有问题吗,我指的是很容易模仿它写出简单的程序。delphi基本的语法我确实不太了解,所以才来请教的
 
http://edn.embarcadero.com/article/32756找到了两个例子并且有全部源码 它是通过这样的方式实现的//自定义线程类type TTestThread = class(TThread)...//线程类里放一个控件作为中转 public property Control: TLabel;...//在线程开始前把窗体控件赋给线程 thread.Control := label1;。。。//然后在线程里就可以通过中间变量操作窗体控件内容了…… Control.Caption := 。。。虽然是低级答案,就算给我自己备查吧。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部