Итак, я пытался заставить сканирование штрих-кода работать в приложении Delphi в течение последних 3 недель. Меня перенаправили на это пример, но этот пример использует другие библиотеки, такие как imagemagika, и является консольным приложением. Я ищу приложение форм vcl.
Вот некоторый код, который я написал, чтобы попробовать заставить процессор ZBar работать в delphi:
// Create Processor
processor := zbar_processor_create(0);
zbar_processor_set_config(processor, ZBAR_NONE, ZBAR_CFG_ENABLE, 1);
// Initialize processor
zbar_processor_init(processor, {what do I put here ?}, 1);
// Setup a callback
{I dont know what do here}
// Enable preview window
zbar_processor_set_visible(processor, 1);
zbar_processor_set_active(processor, 1);
Этот код основан на примере на C, который я нашел здесь: https://github.com/ZBar/ZBar/blob/master/examples/processor.c
а также документацию здесь: http://zbar.sourceforge.net/api/zbar_8h.html#c-processor
Окно zbar открывается, но не показывает видеопоток, потому что я проанализировал nil
как параметр на этапе инициализации. В примере у них есть этот код C, но я понятия не имею, что это значит:
const char *device = "/dev/video0";
/* initialize the Processor */
if(argc > 1)
device = argv[1];
zbar_processor_init(proc, device, 1);
Если я проанализирую '/dev/video0'
вместо nil
, видеопоток все равно не будет отображаться. Итак, я думаю, мой вопрос заключается в том, что мне нужно проанализировать в функции zbar_processor_init()
?
Я также не знаю, как настроить функцию обратного вызова, которая будет вызываться после получения результата. Как бы я это сделал?
Заранее спасибо, Кобус