Главная страница
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.052 c
14-1099488671
Руслана
2004-11-03 16:31
2004.11.21
Не знает ли кто компонет типа TrackBar только с линейкой


9-1089778747
Xerx
2004-07-14 08:19
2004.11.21
FPS


3-1098622927
ewgenij
2004-10-24 17:02
2004.11.21
ADOConnection и пакеты


14-1099599321
Мирон
2004-11-04 23:15
2004.11.21
Это ж надо, блин


8-1091519717
parovoZZ
2004-08-03 11:55
2004.11.21
Флипинг и блитинг