Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2013, 12:57   #11
Smallboy
Пользователь
 
Регистрация: 16.07.2013
Сообщений: 28
По умолчанию

Всем спасибо! решил сделать вот так. Вроде работает!

Код:
procedure TForm2.LoadImg();        // загружаем подпись на экран для просмотра
var
  CreateName : string;
  ScanPath   : string;
begin
//  sleep(10000);
  IniA:=TiniFile.Create(extractfilepath(paramstr(0))+'Anketa.ini');
  ScanPath:= IniA.ReadString('Path','ScanPath','');
  CreateName:=ScanPath+Fname.Text+Sname.Text+Fdate.Text+'.bmp';
  IniA.Free;
  if FileExists(CreateName) = true then
  begin
     Image1.Picture.LoadFromFile(CreateName);
   //  Application.ProcessMessages;
  end;
end;

procedure TForm2.ScanBtnClick(Sender: TObject);
Var
   Proc               : LongBool;
   StartUpInfo        : TStartupInfo;
   ProcessInformation : TProcessInformation;
   Error              : integer;
   ExitCode           : cardinal;
begin
   if (Fname.Text='') and (Sname.Text='') and (Tname.Text='') and (Pasport.Text='') then //проверка на заполнение полей перед сканированием
      Showmessage('Для сканирования подписи заполните все поля!')
   else
   begin
      IniA:=TiniFile.Create(extractfilepath(paramstr(0))+'Anketa.ini');
      IniA.WriteString('LastClientData','Fname',Fname.Text);
      IniA.WriteString('LastClientData','Sname',Sname.Text);
      IniA.WriteString('LastClientData','Tname',Tname.Text);
      IniA.WriteString('LastClientData','Date',Fdate.Text);
      IniA.Free;
      try
  //     Winexec('E:\D7\N1\menu\DemoButtonsProject.exe',SW_SHOW);
         FillChar(StartUpInfo, SizeOf(TStartUpInfo), 0);
         with StartUpInfo do
         begin
            cb := SizeOf(TStartUpInfo);
            wShowWindow := SW_SHOWNORMAL;
            dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
         end;
         Proc:=CreateProcess('E:\D7\N1\menu\DemoButtonsProject.exe',nil,nil ,nil,false,NORMAL_PRIORITY_CLASS,nil,nil,StartUpInfo,ProcessInformation);
           if Proc then
           with ProcessInformation do
           begin
              WaitForInputIdle(hProcess, INFINITE); // ждем завершения инициализации
              WaitforSingleObject(hProcess, INFINITE); // ждем завершения процесса
              GetExitCodeProcess(hProcess, ExitCode); // получаем код завершения
              CloseHandle(hThread); // закрываем дескриптор процесса
              CloseHandle(hProcess); // закрываем дескриптор потока
           end
           else
           begin
              Error := GetLastError;
              showmessage('Код завершения:'+IntToStr(Error));
           end;
      except
         Showmessage('Ошибка сканирования!')
      end;
      LoadImg();
   end;
//   ScanBtn.Enabled:=False;

end;

Последний раз редактировалось Smallboy; 17.07.2013 в 13:06.
Smallboy вне форума Ответить с цитированием
Старый 17.07.2013, 13:26   #12
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Только не надо заменять конкретное сообщение об ошибке на ничего не говорящее "Ошибка сканирования!"
Сделайте примерно так:
Код:
except
  on E : Exception do
    ShowMessage('Ошибка сканирования!'+#13#10+E.Message);
end;
northener вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Timage shelest Компоненты Delphi 1 26.05.2010 17:50
TImage Mania4e11o Компоненты Delphi 3 24.04.2010 17:25
ошибка при создании TImage Juffin Общие вопросы Delphi 9 22.04.2009 17:49
TImage Killbrum Помощь студентам 8 27.08.2008 22:40
TImage Andrey9392 Компоненты Delphi 6 06.04.2007 10:43