Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизПривязка процедуры на событие Найти похожие ветки
← →
ChcngerMan (2004-03-13 21:53) [0]Есть код ДЛЛки:
library Atwain;
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, StdCtrls, DelphiTwain;
var
Twain: TDelphiTwain;
procedure TwainTwainAcquire(Sender: TObject; const Index: Integer;
Image: TBitmap; var Cancel: Boolean);
begin
beep;
end;
procedure ddd;stdcall;
var
SelectedSource: Integer;
begin
Twain:=TDelphiTwain.Create(nil);
{It is always recommended to load library dynamically, never forcing}
{final user to have twain installed}
if Twain.LoadLibrary then
begin
{Load source manager}
Twain.SourceManagerLoaded := TRUE;
{Allow user to select source}
SelectedSource := Twain.SelectSource;
if SelectedSource <> -1 then
begin
{Load source, select transference method and enable (display interface)}
Twain.Source[SelectedSource].Loaded := TRUE;
Twain.Source[SelectedSource].TransferMode := ttmMemory;
Twain.Source[SelectedSource].ShowUI:=false;
Twain.Source[SelectedSource].Enabled := TRUE;
Twain.OnTwainAcquire:=TwainTwainAcquire;
end {if SelectedSource <> -1}
end
else
showmessage("Twain is not installed.");
end;
exports ddd;
begin
end.
Я создаю объект, так вот как сделать, чтобы при событии Twain.OnTwainAcquire вызывалась процедура.
Делаю так но не работает(т.к. неправильно, подскажите как правильно) Twain.OnTwainAcquire:=TwainTwainAcquire;
← →
olookin © (2004-03-13 22:00) [1]Кажется все правильно
← →
olookin © (2004-03-13 22:01) [2]разве только в процедуру ddd передавать в качестве параметра указатель на процедуру TwainTwainAcquire?
← →
ChcngerMan (2004-03-13 22:06) [3]ишет ошибку: metod pointer and regular procedure
← →
Defunct © (2004-03-13 22:22) [4]> ишет ошибку: metod pointer and regular procedure
Type TTwaiAcquireEvent = procedure (Sender: TObject; const Index: Integer;
Image: TBitmap; var Cancel: Boolean) Of Object;
procedure TwainTwainAcquire(Self, Sender: TObject; const Index: Integer;
Image: TBitmap; var Cancel: Boolean);
begin
beep;
end;
...Var AEvent : TTwaiAcquireEvent;
begin
{Load source, select transference method and enable (display interface)}
...
TMethod(AEvent).Code := @TwainTwainAcquire;
TMethod(AEvent).Data := Self;
Twain.OnTwainAcquire:= AEvent;
end
← →
Defunct © (2004-03-13 22:24) [5]Прощу прощения, у вас там нет указателя Self. Напишете тогда так:
...
TMethod(AEvent).Code := @TwainTwainAcquire;
TMethod(AEvent).Data := Twain; // или Nil
Twain.OnTwainAcquire:= AEvent;
end
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.029 c