Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка, которая приводит к закрытию (2 скриншота) 
:(
    Опции темы
DmitryHT
Дата 2.4.2008, 01:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



Собственно ошибка при выполнении некой функции FmtStr
Повидимому функция это системная, либо из какой-то процедуры  smile 

Прикрепил к посту скриншот с ошибкой  FmtStr, надеюсь кто-нибудь сможет по нему помочь  smile 



Это сообщение отредактировал(а) DmitryHT - 2.4.2008, 01:45

Присоединённый файл ( Кол-во скачиваний: 27 )
Присоединённый файл  error2.gif 38,36 Kb
PM MAIL   Вверх
ivan219
  Дата 2.4.2008, 05:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1121
Регистрация: 19.11.2005
Где: Планета земля

Репутация: 2
Всего: 12



DmitryHT, лучшебы код прекрепил.
PM MAIL ICQ   Вверх
MetalFan
Дата 2.4.2008, 08:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



скорее всего это ошибка у тебя. а то, что валится FmtStr - это уже следствие...


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
DmitryHT
Дата 2.4.2008, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



Добавлено @ 10:29
Цитата

скорее всего это ошибка у тебя. а то, что валится FmtStr - это уже следствие...


повидимоу ошибка просиходит в потоке, но все потоки одинаковые.
причем не постоянно, а может даже произойти в 100-м потоке.

да и если ошибка в потоке, то обычно после этого поток (виснет, закрывается), а тут вываливается вся программа.

а кода слишком много...ко его знает, что показывать  smile 

Это сообщение отредактировал(а) DmitryHT - 2.4.2008, 10:30
PM MAIL   Вверх
Insert
Дата 2.4.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 208
Регистрация: 13.4.2006

Репутация: 1
Всего: 1



Весь код не нужен, скинь процедуру где выпадает, а мы уже посмотрим.
--------------------
пьяный русский кодер практически непобедим
PM MAIL   Вверх
DmitryHT
Дата 2.4.2008, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



Цитата

Весь код не нужен, скинь процедуру где выпадает, а мы уже посмотрим.


я бы сразу сделал именно так, но имени процедуры я не знаю
прога вылетает и Try ... Except её не спасает


PM MAIL   Вверх
MetalFan
Дата 2.4.2008, 12:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 62
Всего: 128



тогда спасет только отладка. а гадать тут нам смысла нет.


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
DmitryHT
Дата 2.4.2008, 12:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



Код

procedure TPagesDlg.MyExceptionHandler(Sender : TObject; E : Exception );
var log : TextFile;
begin
  AssignFile(log,'D:\log.txt');
  Reset(log);
  Writeln(log, 'ERROR: ' + E.Message);
  CloseFile(log);
end;


Код

procedure TPagesDlg.FormCreate(Sender: TObject);
begin
  Application.OnException:= MyExceptionHandler;
...
...


попробовал это, но не помогло...пустой файл


Цитата

тогда спасет только отладка. а гадать тут нам смысла нет.

а как лучше?
а нельзя в этом окне (на скриншоте) перейти к строкам кода, где эти байты генерятся, а то эти байты - не поймешь  smile 
PM MAIL   Вверх
bems
Дата 2.4.2008, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 3400
Регистрация: 5.1.2006

Репутация: 31
Всего: 88



DmitryHT, возьми в try-except код каждого потока.


--------------------
Обижено школьников: 8
PM MAIL   Вверх
lukas
Дата 2.4.2008, 17:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 771
Регистрация: 23.2.2007

Репутация: 3
Всего: 15



Код

procedure FmtStr(var Result: string; const Format: string;
  const Args: array of const);
var
  Len, BufLen: Integer;
  Buffer: array[0..4095] of Char;
begin
  BufLen := SizeOf(Buffer);
  if Length(Format) < (sizeof(Buffer) - (sizeof(Buffer) div 4)) then
    Len := FormatBuf(Buffer, sizeof(Buffer) - 1, Pointer(Format)^, Length(Format), Args)
  else
  begin
    BufLen := Length(Format);
    Len := BufLen;
  end;
  if Len >= BufLen - 1 then
  begin
    while Len >= BufLen - 1 do
    begin
      Inc(BufLen, BufLen);
      Result := '';          // prevent copying of existing data, for speed
      SetLength(Result, BufLen);
      Len := FormatBuf(Pointer(Result)^, BufLen - 1, Pointer(Format)^,
      Length(Format), Args);
    end;
    SetLength(Result, Len);
  end
  else
    SetString(Result, Buffer, Len);
end;



--------------------
http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi.
PM MAIL WWW   Вверх
DmitryHT
Дата 2.4.2008, 19:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 97
Регистрация: 31.8.2007

Репутация: нет
Всего: нет



Цитата

возьми в try-except код каждого потока.


у меня вся программа в этих блоках на случай ошибок, а уж в потоках я это дело точно не забываю
сейчас расписал логирование для каждого потока в отдельности - отпишусь после тестов.

нужно же дождаться очередного вылета


lukas, ну вот это даже не мной написанная процедура, как я могу повлиять на возникновение ошибок в ней  smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0533 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.