Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Исключения в консоли


Автор: Rondo 18.1.2007, 08:02
Столкнулся с проблемой в консольном приложении.
Есть у меня там 1 процедура, которая читает буфер обмена

Код

Uses KOL;
...
procedure MyProc;
var
  s: string;
begin
  s := Clipboard2Text
end;

Если например в момент чтения буфера там лежит не текст, то приложение вылетает с ошибкой..
try .. except не помогает.  smile  

Автор: Yanis 18.1.2007, 09:50
Rondo
Используй напрямую WinAPI или TClipboard из VCL.

Добавлено @ 09:50 
А Clipboard2Text стандартная функция KOL?

Автор: Rondo 18.1.2007, 10:26
Да, это стандартная функция KOL

Автор: Snowy 18.1.2007, 11:58
А так
Код

  if ClipboardHasText then s := Clipboard2Text
  else s := '';


Добавлено @ 12:00 
Хотя это одна малина.
Не вижу никаких причин для вылета - нормальная функция.
Попробуй по F8 пройтись.
Думаю, что проблема не в этой функции, а дальше - когда пытаешься работать с текстом.

Добавлено @ 12:06 
Проверил:
Код
Program Project1;

{$APPTYPE CONSOLE}

uses KOL;

var
  s: string;
begin
  s := Clipboard2Text;
  WriteLn(s);
end.
Работает корректно без каких-либо проблем.

Автор: Rondo 19.1.2007, 05:39
Спасибо Snowy, помагло smile

Автор: Yanis 19.1.2007, 18:25
Цитата(Rondo @  19.1.2007,  06:39 Найти цитируемый пост)
Спасибо Snowy, помагло 

Интересно, что помогло? Код идентичный...

Автор: Rondo 20.1.2007, 04:50
ClipBrd не использую, нужно было проверить переменную на наличие текста. Ну и косячок был с кодом ниже  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)