Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Окно ожидания длительных операций / 25 сообщений из 54, страница 1 из 3
07.01.2016, 14:11
    #39143020
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Доброго времени суток. Подскажите пожалуйста, чем можно вызывать окно, если происходит длительная операция? сейчас использую windowthread http://roschinspb.narod.ru/develop.html#Thread вот отсюда, однако на win xp как только пытается запуститься данное окно получаю вылет приложения.


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
type
  TMyThread = class(TThread)
    private
    { Private declarations }
  protected
    procedure Execute; override;
  end;
Var
MyThread: TMyThread;

//И вот в функции 

procedure TMyThread.Execute;
var k,s:TStringList;i:integer; F: TThreadWindow;
begin
 i:=0;
        try
s:=TStringList.Create;
k:=TStringList.Create;
k.LoadFromFile(fname);
s.Delimiter:=','; // Это разделитель между элементами
loglen:=k.Count;
SetLength(data,loglen,3);
F := TThreadWindow.Show;
for i:=0 to k.Count-1 do begin
 s.DelimitedText:=k[i];
 data[i,0]:=strtoint(s[1]);
 data[i,1]:=strtoint(s[8]);
 data[i,2]:=strtofloat(s[31]);
 end;
 F.Destroy;

Form1.Caption:='VE LogTuner'+' Открыт ' + fname+hexname;
Form1.n10.Enabled:=true;
 s.free;k.Free;
 except
    on E : Exception do
      ShowMessage(E.ClassName+' ошибка с сообщением =) : '+E.Message);

       end;

end;




Может я просто что то не так делаю? в win 7 всё работает, в Linux всё работает, но вот на моём Win XP не пашет...может надо какой то .NET доустановить что бы работало?
...
Рейтинг: 0 / 0
07.01.2016, 15:40
    #39143042
debose
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfame
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
Form1.Caption:='VE LogTuner'+' Открыт ' + fname+hexname;
Form1.n10.Enabled:=true;

 except
    on E : Exception do
      ShowMessage(E.ClassName+' ошибка с сообщением =) : '+E.Message);

       end;


А что обращения к Form1 и вызов ShowMessage у тебя тоже потокобезопасные?
...
Рейтинг: 0 / 0
07.01.2016, 15:51
    #39143047
Одноклассник Императора
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
кто-то ещё использует это darxfame
Код: pascal
1.
 ShowMessage


в своих приложениях ?
...
Рейтинг: 0 / 0
07.01.2016, 16:03
    #39143052
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Одноклассник Императоракто-то ещё использует это darxfame
Код: pascal
1.
 ShowMessage


в своих приложениях ?Да, но не так.
...
Рейтинг: 0 / 0
07.01.2016, 18:16
    #39143076
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Одноклассник Императоракто-то ещё использует это darxfame
Код: pascal
1.
 ShowMessage



в своих приложениях ?А чем не нравится?
Стандартный Виндовый диалог стандартного API.
...
Рейтинг: 0 / 0
07.01.2016, 18:18
    #39143077
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
GatorСтандартный Виндовый диалог стандартного API.
Не надо путать с MessageBox().
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.01.2016, 18:40
    #39143082
JayDi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Одноклассник Императора,

а что не так с ShowMessage, почему его нельзя нигде использовать?
...
Рейтинг: 0 / 0
07.01.2016, 18:45
    #39143085
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
debosedarxfame
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
Form1.Caption:='VE LogTuner'+' Открыт ' + fname+hexname;
Form1.n10.Enabled:=true;

 except
    on E : Exception do
      ShowMessage(E.ClassName+' ошибка с сообщением =) : '+E.Message);

       end;


А что обращения к Form1 и вызов ShowMessage у тебя тоже потокобезопасные?

А как это может относиться к моей ошибке?
...
Рейтинг: 0 / 0
07.01.2016, 18:47
    #39143086
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfameА как это может относиться к моей ошибке?
А какая у тебя ошибка?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.01.2016, 19:10
    #39143093
debose
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfamedeboseпропущено...

А что обращения к Form1 и вызов ShowMessage у тебя тоже потокобезопасные?

А как это может относиться к моей ошибке?
Закомментируй эти строки и узнаешь.
...
Рейтинг: 0 / 0
07.01.2016, 19:19
    #39143095
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
debosedarxfameпропущено...


А как это может относиться к моей ошибке?
Закомментируй эти строки и узнаешь.

Проверил, ничего не дало, всё равно на длительной операции когда пытается открыться TThreadWindow.Show; программа вылетает
...
Рейтинг: 0 / 0
07.01.2016, 19:20
    #39143096
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfameпрограмма вылетает
А ошибка при этом, конечно же "красненькая и много нипанятных букаф". Ню-ню...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.01.2016, 19:24
    #39143100
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
debosedarxfameпропущено...


А как это может относиться к моей ошибке?
Закомментируй эти строки и узнаешь.

Фотографии ошибки


...
Рейтинг: 0 / 0
07.01.2016, 19:24
    #39143101
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Dimitry Sibiryakovdarxfameпрограмма вылетает
А ошибка при этом, конечно же "красненькая и много нипанятных букаф". Ню-ню...


Смотрите ниже, приложил скрины. если бы хоть писала в чем ошибка, я бы понял, а так не пишет, просто выдает то что выдает.
...
Рейтинг: 0 / 0
07.01.2016, 19:35
    #39143104
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfameесли бы хоть писала в чем ошибка, я бы понял, а так не пишет, просто выдает
то что выдает.
А погуглить код eedfade, ты, конечно же, не пытался.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.01.2016, 20:32
    #39143113
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Dimitry SibiryakovGatorСтандартный Виндовый диалог стандартного API.
Не надо путать с MessageBox().Сдаюсь! Простишь за ради праздников?
_________________
В оправдание замечу, что ОТЛАДКУ хорошо писать в лог.
Всегда. По ключу-флажкам.
И, возможно, для оперативности, параллельно показывать в отдельном окошке, оторванном от Главного процесса.
...
Рейтинг: 0 / 0
07.01.2016, 20:37
    #39143114
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Dimitry Sibiryakovdarxfameесли бы хоть писала в чем ошибка, я бы понял, а так не пишет, просто выдает
то что выдает.
А погуглить код eedfade, ты, конечно же, не пытался.


загуглил, ничего не понял. понял что скорее всего что то с потоками и памятью, но ничего конкретного не нашел. модуль юзаю не свой, так что в нем ничего не знаю. вываливается эта ошибка только на нетбуке с win xp, на остальных системах всё хорошо
...
Рейтинг: 0 / 0
07.01.2016, 20:43
    #39143115
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
OFF
Dimitry SibiryakovА погуглить код eedfade, ты, конечно же, не пытался.Самому интересно.
Но я бы предпочёл нормальный ms-error-code вместо чей-то отсебятины а-ля VE LogTuner.

imho обычный AV. Что-то криво инициалтзировано.
________
Погуглил, кстати. Почитал... Хрень какая-то давнишних лет
...
Рейтинг: 0 / 0
07.01.2016, 20:45
    #39143116
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfameзагуглил, ничего не понял. понял что скорее всего что то с потоками и
памятью
Это ты неправильно понял. У тебя на свободу вырывается дельфийское исключение, которое
Windows не знает как обработать. Значит оно либо происходит вне блока try-except, либо
выбрасывается непосредственно из обработчика except. Как уже сказали: для начала убирай
всю работу с визуальными компонентами из потока, оборачивай её в Synchronize. Включая
ShowMessage в обработчике исключения. Это, конечно, если ты не в состоянии достать из
имеющегося у тебя дампа стэк вызовов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.01.2016, 20:47
    #39143117
Gator
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfameвываливается эта ошибка только на нетбуке с win xpНу... может, ОНО вызывает что-то обрезанное в нетбучном XP?
На других XP работает?
А на нетбуках с Win7+?
...
Рейтинг: 0 / 0
07.01.2016, 20:48
    #39143118
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Dimitry Sibiryakovdarxfameзагуглил, ничего не понял. понял что скорее всего что то с потоками и
памятью
Это ты неправильно понял. У тебя на свободу вырывается дельфийское исключение, которое
Windows не знает как обработать. Значит оно либо происходит вне блока try-except, либо
выбрасывается непосредственно из обработчика except. Как уже сказали: для начала убирай
всю работу с визуальными компонентами из потока, оборачивай её в Synchronize. Включая
ShowMessage в обработчике исключения. Это, конечно, если ты не в состоянии достать из
имеющегося у тебя дампа стэк вызовов.


короче нашел упоминание
авторНет. Это была Kernel32.dll версии 5.1.2600.5781 Ошибка по адресу 0x00012afb
Вот -->тут <-- еще много жалоб на конкретно эту ошибку в конкретно этом билде длл. Так что дядя Вася не при чем.

Получается я тут ни при чем, проблема в DLL, пошел думать как решить.
...
Рейтинг: 0 / 0
07.01.2016, 20:50
    #39143120
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfameПолучается я тут ни при чем
Жалкое самоутешение для слабаков. Всегда проще думать, что ошибка, конечно же, в ядре
Windows...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.01.2016, 20:55
    #39143121
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Dimitry SibiryakovdarxfameПолучается я тут ни при чем
Жалкое самоутешение для слабаков. Всегда проще думать, что ошибка, конечно же, в ядре
Windows...


Я убрал все вызовы формы из потока, это мне ничего не дало, убираю вызов окна windowthread и программа начинает работать
...
Рейтинг: 0 / 0
07.01.2016, 21:04
    #39143123
darxfame
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
Dimitry SibiryakovdarxfameПолучается я тут ни при чем
Жалкое самоутешение для слабаков. Всегда проще думать, что ошибка, конечно же, в ядре
Windows...


если вы знаете как решить проблему то пожалуйста скажите. Потому что до меня не доходит. Почему именно с этой версией kernel32 не работает. Любая другая версия и программа спокойно работает
...
Рейтинг: 0 / 0
07.01.2016, 22:10
    #39143150
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Окно ожидания длительных операций
darxfameубираю вызов окна windowthread и программа начинает работать
Вот и ответ. А теперь бери его исходники и читай что там за фигня написана.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Окно ожидания длительных операций / 25 сообщений из 54, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]