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

Вниз

Сканирование!   Найти похожие ветки 

 
ser_ega   (2004-10-08 20:29) [0]

Ув. Мастера помогите! Нашел такой код проги:

procedure TForm1.FormCreate(Sender: TObject);
begin
 Application.OnMessage := MyMsg;
 TWOpenDSM(Application.Handle);
end;

procedure TForm1.MyMsg(var Msg: TMsg; var Handled: Boolean);
begin
 Handled := ProcessSourceMessage(Msg);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
 Application.OnMessage := nil;
 if TWIsDSEnabled then
   TWDisableDS;
 if TWIsDSOpen then
   TWCloseDS;
 if TWIsDSMOpen then
   TWCloseDSM;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 TWAcquire(Application.Handle, Image1.Picture.Bitmap, True);
end;

Но по нажатии на Button1,через некоторое время, выскакивает окно настройки СКАНИРОВАНИЯ, а потом по нажатии на кнопку "Сканировать" оно пропадает,т.е. очень долго получается! Как мне сделать так чтобы не выставлять настройки каждый раз т.е. как нажать сразу кнопку "Сканировать", но с определенными настройками (Например: Тип изображения-черно-белый рисунок или текст; Расширение DPI - 300 )!


 
ser_ega   (2004-10-11 12:29) [1]

Выход хоть какой-то есть?


 
Erik1 ©   (2004-10-11 14:02) [2]

Приведи код ProcessSourceMessage.


 
ser_ega   (2004-10-11 21:53) [3]

F А меня нет такого кода! Мне просто в этой конференции дали ссылку на код программы вот я его и скачал!


 
ser_ega   (2004-10-11 22:10) [4]

Вот нашел!

function ProcessSourceMessage(var Msg: TMsg): Boolean;
var
 twRC: TW_UINT16;
 event: TW_EVENT;
 pending: TW_PENDINGXFERS;
begin
 Result := False;

 if TWDSMOpen and TWDSOpen then
 begin
   event.pEvent := @Msg;
   event.TWMessage := 0;

   twRC := DSCall(DG_CONTROL, DAT_EVENT, MSG_PROCESSEVENT, @event);

   case event.TWMessage of
     MSG_XFERREADY:
     begin
       // ToDo!
       TWNativeTransfer;

       TwainCheckDS(DSCall(DG_CONTROL, DAT_PENDINGXFERS, MSG_ENDXFER, @pending),
         "Check for Pending Transfers");

       if pending.Count > 0 then
         TwainCheckDS(DSCall(DG_CONTROL, DAT_PENDINGXFERS, MSG_RESET,
           @pending), "Abort Pending Transfers");

       TWDisableDS;
       TWCloseDS;
     end;
     MSG_CLOSEDSOK, MSG_CLOSEDSREQ:
     begin
       TWDisableDS;
       TWCloseDS;
     end;
   end;

   Result := not (twRC = TWRC_NOTDSEVENT);
 end;
end;


 
ser_ega   (2004-10-12 17:04) [5]

Кто нибудь помогите!


 
Erik1 ©   (2004-10-12 17:21) [6]

Попробуй отрасировать его и посмотри, что медленно работает. Еще поищи в сети информацию по TWAIN API.


 
ser_ega   (2004-10-12 23:07) [7]

Что значит "Отрасировать"?


 
Erik1 ©   (2004-10-13 13:02) [8]

Тяжолый случай, F7, F8 понажимай после breakpoint.



Страницы: 1 вся ветка

Текущий архив: 2004.11.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.05 c
6-1095250493
Луарвик
2004-09-15 16:14
2004.11.21
А как заполнить поля в IE?


14-1099034163
ИМХО
2004-10-29 11:16
2004.11.21
Давайте поговорим о Palm-е


6-1095340446
ИванКа
2004-09-16 17:14
2004.11.21
Как передать звук по сети?


4-1097518429
ser_ega
2004-10-11 22:13
2004.11.21
Приложение!


1-1099577316
Atlant
2004-11-04 17:08
2004.11.21
Плавная прокрутка текста в RichEdit