Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.04;
Скачать: CL | DM;

Вниз

Привязка процедуры на событие   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
1-1079421922
Sergeii
2004-03-16 10:25
2004.04.04
Podskazhite shkolniku Fast report


3-1078931851
Ceval
2004-03-10 18:17
2004.04.04
упорядочить таблицу ...про помоци CheckBox


14-1077015669
Alex_Bredin
2004-02-17 14:01
2004.04.04
Локомотив - Монако 24 февраля


6-1074530042
MAxiMum
2004-01-19 19:34
2004.04.04
Отправка e-mail через программу


3-1078662906
Крутыш
2004-03-07 15:35
2004.04.04
Устанавливаю свойство edgosmartrefresh и не работает удаление