德尔福的ZBar代码扫描程序ntdll.dll错误

时间:2015-05-12 16:13:48

标签: delphi zbar

我正在尝试使用ZBar扫描图像,我正在使用此代码示例:http://blog.freehand.com.ua/2013/03/zbar-reading-bar-codes-in-delphi.html

这是我目前的代码:

procedure TForm1.Button1Click(Sender: TObject);
var zimage : zbar_image_t;
weirdVarArea : SIZE_T;
weirdVarBlob : PByte;
sym: zbar_symbol_t;
begin
  zimage := zbar_image_create;
  zbar_image_set_format(zimage, 'Y800');
  zbar_image_set_size(zimage, Image1.Picture.Width, Image1.Picture.Height);

  weirdVarArea := Image1.Picture.Width * Image1.Picture.Height;
  weirdVarBlob := GetMemory(weirdVarArea);
  zbar_image_set_data(zimage, weirdVarBlob, weirdVarArea, nil);

  zbar_process_image(processor, zimage);

  //  sym := zbar_image_first_symbol(zimage);
  //  ShowMessage(zbar_symbol_get_data(sym));
end;

end.

表单上有一个名为“Button1”的按钮,以及一个名为“Image1”的图像组件,其中加载了qr代码。

当我运行该代码时,我收到错误:Access violation at address 77E57543 in module 'ntdll.dll'. Write of address 000000A4.

导致问题的一行是zbar_process_image(processor, zimage);

我不知道该怎么办。

感谢您的回应,Kobus

1 个答案:

答案 0 :(得分:0)

  

模块' ntdll.dll'中地址为77E57543的访问冲突。写入地址000000A4。

这实际上是Windows问题。当您收到此错误时,您必须在应用程序正常工作时找到还原点并关闭Windows自动更新以防止问题再次发生。如果您无法以这种方式解决问题,则应重新安装Windows。