Главная страница
    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.46 MB
Время: 0.034 c
14-1078905778
Я - Некое - Никто
2004-03-10 11:02
2004.04.04
Форум, регистрация и свобода слова


7-1075073038
Slash_from_Ryazan
2004-01-26 02:23
2004.04.04
Как узнать Имя пользователя в Виндовс


4-1075207610
GrayFace
2004-01-27 15:46
2004.04.04
Как узнать размер памяти какого-то процесса?


14-1077861707
Kerk
2004-02-27 09:01
2004.04.04
Самарская встреча Мастаков


14-1078354077
Orik_Dreammy
2004-03-04 01:47
2004.04.04
Книгу надо...блин...ОЧЕНЬ!!!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский