Може ли madExcept да замрази моето Delphi приложение?

Имам приложение, базирано на Delphi 5, използващо madExcept 3.0m. Изглежда замръзва поради madExcept, продукт, на чието качество се възхищавам и затова обикновено не обвинявам за нищо.

Ето кода:

  AddLogEntry('ME_Settings');
  try
    AddLogEntry('ME_Settings2');
    with MESettings do begin                     // madExcept-Einstellungen
      AddLogEntry('FrozenMsg');
      sOldFrozenMsg := FrozenMsg;
      AddLogEntry('Meldung vorbereiten');
      FrozenMsg := AnsiString(_('Das Öffnen der Datenbank dauert ungewöhnlich lang.'));
      AddLogEntry('Remote?');
      [...]
    end;
  finally
    [...]
  end;

Не хвърля никакво изключение, просто изглежда замръзва при четене FrozenMsg:
(източник: quodata.de)

Това не се случва на нито един от моите компютри, но се случва на компютъра на клиента. Как могат MESettings на madExcept да причинят такова поведение. Как трябва да отстраня грешки в това?


person Gogowitsch    schedule 04.03.2013    source източник
comment
Питахте ли във форума на ME? Матиас обикновено е много отзивчив.   -  person David Heffernan    schedule 04.03.2013
comment
Когато вашата програма замръзне, какво прави тя? Поставете го на пауза в дебъгера и разберете.   -  person Rob Kennedy    schedule 04.03.2013
comment
@David: Благодаря, че ме изпрати там: forum.madshi.net/viewtopic.php ?f=4&t=27497   -  person Gogowitsch    schedule 04.03.2013
comment
@Rob: За съжаление, не мога да отстранявам грешки от разстояние на компютъра на клиента и все още не мога да възпроизведа проблема локално.   -  person Gogowitsch    schedule 04.03.2013
comment
Какво е това _('thing')?   -  person Warren P    schedule 05.03.2013
comment
@WarrenP: Наистина, някой излезе с това име на функция. Is е съкращение за gettext(), широко разпространена система за превод, базирана на .po и .mo файлове. Реализации съществуват за много езици.   -  person Gogowitsch    schedule 05.03.2013
comment
Много ми харесва използването на най-краткия и безсмислен паскал идентификатор, _   -  person David Heffernan    schedule 05.03.2013
comment
Значи сте премахнали MadExcept и сте изпратили компилация на клиента, а клиентът НЕ замръзва? :-)   -  person Warren P    schedule 05.03.2013
comment
@WarrenP: Благодаря за обратната връзка. Би било доста тромаво да премахнем изцяло madExcept от проекта, защото използваме много от неговите функции. От друга страна, опитах exe файл без проверката за замразяване (деактивирана чрез настройките на проекта - .mes файл) - същото поведение. В момента мисля, че не madExcept, а нещо на компютъра на клиента причинява замразяването.   -  person Gogowitsch    schedule 06.03.2013
comment
Под тежка употреба имате предвид, че многократно извиквате MadExcept на стотици места в кода си? Така че се подигравайте. Създавайте псевдоними на единици и фалшиви единици. Сигурен съм, че мога да направя това за минути, ако не и по-бързо чрез #ifdefs.   -  person Warren P    schedule 06.03.2013


Отговори (1)


Вече внедрихме редовна актуализация, използвайки обикновен (и много същия) madExcept 3.0m за клиента. Проработи. Те замениха компютъра поради други проблеми, така че съм напълно уверен, че проблемът е в конкретния компютър и нищо не трябва да се коригира в madExcept или нашите продукти.

person Gogowitsch    schedule 21.06.2013