首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

多线程显示图片有关问题

2012-03-13 
多线程显示图片问题 线程里面主要代码如下:constructorshowpic.create(im_name:timagebeg_sno:integeren

多线程显示图片问题

线程里面主要代码如下:
constructor   showpic.create(im_name:   timage;   beg_sno:   integer;   end_sno:   integer;   sleep_time:   integer);
begin

    inherited   Create(false);

    begsno   :=   beg_sno;
    endsno   :=   end_sno;
    sleeptime   :=   sleep_time;
    gb_bool   :=   true;
    im   :=   im_name;
    FreeOnTerminate   :=   true;
    gb_bool   :=   true;
end;

procedure   showpic.Execute;
begin
    xianshipic();
end;

procedure   showpic.xianshipic;
var
    i:   integer;
    beg_sno:   integer;
    end_sno:   integer;
    i_m:   timage;
    sleep_time:   integer;
begin
    {   Place   thread   code   here   }
    beg_sno   :=   begsno;
    end_sno   :=   endsno;
    sleep_time   :=   sleeptime;
    //gb_bool   :=   true;
    while   gb_bool   do
    begin

        for   i   :=   beg_sno   to   end_sno   do
        begin
            im.Picture.LoadFromFile( 'f:\test\新建文件夹\bmp\ '   +   inttostr(i)   +   '.bmp ');
            sleep(sleep_time);
            application.ProcessMessages;
        end;

    end;
end;


程序调用命令如下:

  showpic.create(image1,   8000,   8021,   20);
    showpic.create(image2,   8000,   8021,   20);


但不知道为什么,在Windows2003   执行时老是报“ntdll.dll”错误,不知道该如何处理,请各位大侠帮帮忙,谢谢!!!

[解决办法]
type
showpic = class(TThread)
......
private
FIndex : Integer;
......
end;

procedure showpic.Execute;
var
beg_sno: integer;
end_sno: integer;
i_m: timage;
sleep_time: integer;
begin
beg_sno := begsno;
end_sno := endsno;
sleep_time := sleeptime;
//gb_bool := true;
while not Terminated and gb_bool do
begin
for FIndex := beg_sno to end_sno do
begin
Synchronize(xianshipic);
sleep(sleep_time);
end;
end;
end;

procedure showpic.xianshipic;
begin
im.Picture.LoadFromFile( 'f:\test\新建文件夹\bmp\ ' + inttostr(FIndex) + '.bmp ');
end;
[解决办法]
在线程使用使用可视化组件需要使用同步方法。
[解决办法]
线程中操作可视控件,需要同步,synchronize,创建线程单元时有说明
[解决办法]
Visual Graph是一套强大的交互图形开发平台,她能非常方便地建造基于图形的界面、制作各种图形元件、实现图形管理、图形建模、制作监控系统、表单系统、绘图系统、流程设计、CAD软件等。她提供功能非常强大的ActiveX控件,和其他流行的编程语言共同工作,极大地弥补了这些语言在图形处理方面的不足。也可以嵌入IE浏览器中,实现网上图形编辑和控制等。http://www.visual-graph.com
[解决办法]
线程同步

热点排行