![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сканирование! [D6, WinXP]
ser_ega © (2004-10-08 20:29:00)Ув. Мастера помогите! Нашел такой код проги:
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 )!
Erik1 (2004-10-13 13:02:00) [1]Тяжолый случай, F7, F8 понажимай после breakpoint.
ser_ega (2004-10-12 23:07:00) [2]Что значит "Отрасировать"?
Erik1 (2004-10-12 17:21:00) [3]Попробуй отрасировать его и посмотри, что медленно работает. Еще поищи в сети информацию по TWAIN API.
ser_ega (2004-10-12 17:04:00) [4]Кто нибудь помогите!
ser_ega (2004-10-11 22:10:00) [5]Вот нашел!
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-11 21:53:00) [6]F А меня нет такого кода! Мне просто в этой конференции дали ссылку на код программы вот я его и скачал!
Erik1 (2004-10-11 14:02:00) [7]Приведи код ProcessSourceMessage.
ser_ega (2004-10-11 12:29:00) [8]Выход хоть какой-то есть?