Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-1078404598
stone
2004-03-04 15:49
2004.04.04
Проблема с TBatchMove


11-1058382320
puky
2003-07-16 23:05
2004.04.04
Bitmap.PasteFromClipboard


4-1075282699
bar
2004-01-28 12:38
2004.04.04
Как отловить сообщение посылаемое чужому окну?


1-1078907554
трактор
2004-03-10 11:32
2004.04.04
Как узнать время работы ПК? Бросьте идею


1-1079612266
Сниф
2004-03-18 15:17
2004.04.04
Где можно взять подробный пример создания Com-объекта?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский