Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
ВнизЧем может быть вызвана ошибка обращения к clipboard у? Найти похожие ветки
← →
cvg (2004-11-17 17:39) [0]Hi All! Subj. На последней строчке в этом куске:
windows.BringWindowToTop(h_pars);
PressKeys("Ctrl+C",10); // эмуляция нажатия на клавиши
line := Clipboard.AsText;
в стандартном модуле Clipbrd в этои вот месте:
if not OpenClipboard(FClipboardWindow) then
raise Exception.CreateRes(@SCannotOpenClipboard);
прога орет, что не может прочесть буфер. В чем может быть дело?
← →
Jeer © (2004-11-17 17:44) [1]Значит там не текст:(
← →
cvg (2004-11-17 17:49) [2]Ctrl-C грабит экран в окне, которое стало делается активным в первой приведенной строчке, правильно? Там таблица с меняющимися данными. Последняя строчка преобразует все, что можно, в текст. Так ведь, вроде?
← →
cvg (2004-11-17 18:22) [3]Ну что, больше ни у кого никаких мыслей нет?
← →
Jeer © (2004-11-17 18:51) [4]так проверь
Clipboard.HasFormat(CF_TEXT):boolean;
← →
cvg (2004-11-18 15:03) [5]Не, все-таки она на второй из нижеприведенных строчек она все равно орет "Cannot open Clipboard" :((
if not Clipboard.HasFormat(CF_TEXT):boolean
if not OpenClipboard(FClipboardWindow) then
raise Exception.CreateRes(@SCannotOpenClipboard);
← →
VMcL © (2004-11-18 15:07) [6]>>cvg (18.11.04 15:03) [5]
Что говорит GetLastError или SysErrorMessage?
← →
cvg (2004-11-18 15:36) [7]Думешь, это что-нить даст? Самое-то тут противное то, что ана все ети дела грабит с экрана (хотя есть и режим работы с данными из файла), а значит я не могу подлезть с отладчиком...
← →
Amoeba © (2004-11-18 15:55) [8]
> ана все ети дела грабит с экрана
В таком случае в Clipboard нет никакого текста и
line := Clipboard.AsText;
не лезет ни в какие ворота.
← →
cvg (2004-11-18 16:23) [9]Хм, а почему ж тогда рекомендованный Clipboard.HasFormat(CF_TEXT):boolean пропустил все это?
← →
Amoeba © (2004-11-18 16:28) [10]выполни после "грабления" экрана вот этот код:
if Clipboard.HasFormat(CF_TEXT) then
line := Clipboard.AsText
else
ShowMessage("Bla-bla-bla!");
← →
cvg (2004-11-18 17:14) [11]Попробовал. Все равно на строке line := Clipboard.AsText выдала ту же ошибку -- "Cannot open Clipboard". Да и не думаю я, что это изменение помогло бы, потому что до этого у меня так вот было:
try
line := Clipboard.AsText;
except
raise Exception.Create("blah-blah-blah");
end;
← →
cvg (2004-11-18 17:15) [12]Попробовал. Все равно на строке line := Clipboard.AsText выдала ту же ошибку -- "Cannot open Clipboard". Да и не думаю я, что это изменение помогло бы, потому что до этого у меня так вот было:
try
line := Clipboard.AsText;
except
raise Exception.Create("blah-blah-blah");
end;
← →
VMcL © (2004-11-18 17:21) [13]>>cvg (18.11.04 15:36) [7]
>Думешь, это что-нить даст?
Конечно, не даст. Ведь у меня хобби такое - давать бесполезные советы.
← →
Amoeba © (2004-11-18 17:28) [14]Если у тебя в буфере изображение захваченное с экрана, то после
if Clipboard.HasFormat(CF_TEXT) then
строка
line := Clipboard.AsText;
выполняться не будет
и не надо никаких
try
...
except
...
end
Просто нужно проверить формат содержимого Clipboard.
И еще. Так и не последовало никакой реакции на Amoeba © (18.11.04 15:55) [8]
← →
cvg (2004-11-18 17:45) [15]Ну это-то понятно. Конкретно показываю, как я по твоему совету сделал:
if Clipboard.HasFormat(CF_TEXT) then
line := Clipboard.AsText
else
raise Exception.Create("blah-blah-blah");
Все равно она дошла до Clipboard.AsText и обругалась известным образом. Ж%:((
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.12.05;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.035 c