Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

FreeLibrary   Найти похожие ветки 

 
kblc ©   (2005-05-26 14:09) [40]

извиняюсь за ляп:

procedure TfmMainServer.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose:=Self.CanCloseFirst;
if not Self.CanCloseFirst then
begin
  if not Visible then Visible:=true;
  MainServer.Save;
  tim_Saving.Interval:=CNST_TIMER_SAVE_INTERVAL; //2*1000
  tim_Saving.Enabled:=true;
end;
end;


 
Digitman ©   (2005-05-26 14:10) [41]


> kblc ©   (26.05.05 14:08) [38]


а шут его знает, КАК ты "их" отлаживаешь)

вообще-то еще клавиша F7 есть ... и asm-код ...


 
kblc ©   (2005-05-26 14:11) [42]

2 DigitMan:

запостить весь код??? 58 КБ текста (всё вместе)???


 
kblc ©   (2005-05-26 14:12) [43]

блин... я и на F7 жал! ... да ёпрст... а что за асм код - да-не знаю.... если это именено то окно дебуггера где одни знаки "?" ???


 
Digitman ©   (2005-05-26 14:12) [44]


> if not Self.CanCloseFirst then


в данном контексте выделенное жирным выдает дилетанта)
это тоже не ОБС ?


 
kblc ©   (2005-05-26 14:14) [45]

раньше там просто было CanClose - заменить не успел
DigitMan, отгадай откуда этот брался CanClose ???
наверное из объекта класса!


 
Digitman ©   (2005-05-26 14:17) [46]


> если это именено то окно дебуггера


что такое "окно дебуггера" ?

в этом окне - куча фреймов : фрейм секции кода, фрейм секции данных, фрейм секции стека, фрейм регистров CPU ...

если эти самые "одни знаки "?" ты видишь во фрейме секции кода, то это может означать: нарушение соглашений о вызове, загаживание тобой стека в теле вызванной п/п, дохрена чего еще может означать ..


 
kblc ©   (2005-05-26 14:23) [47]

2 Digitman: да, именно! я про это самое окно!...

тогда вопрос звучит так: как определить откуда она появляеться и что нужно делать что бы её не было???


 
Digitman ©   (2005-05-26 14:24) [48]

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


 
kblc ©   (2005-05-26 14:30) [49]

Digitman, что значит "проверить соглашения в вызове"?


 
Digitman ©   (2005-05-26 14:32) [50]

это значит что декларация п/п в вызывающем коде должна в точности соответствовать декларации той же п/п в вызываемом коде


 
kblc ©   (2005-05-26 14:41) [51]

2 Digitman: проверил все декларации.
Всё полностью совпадает.
Что ещё я могу сделать?


 
Digitman ©   (2005-05-26 14:44) [52]

например, привести сюда декларацию и реализацию метода DispatchMsg..


 
kblc ©   (2005-05-26 14:44) [53]

когда появляеться вот такая ошибка? EInOutError with message "I/O Error 103"


 
Digitman ©   (2005-05-26 14:45) [54]


> kblc ©   (26.05.05 14:44) [53]


как минимум - при файловом вводе/выводе ..


 
kblc ©   (2005-05-26 14:55) [55]

я нашёл в чём ошибка...

я постоянно вызываю метод DispatchMsg не используя SendMessage().. это естественно, ведь у меня классы не имеют хэндла...

тут я сам наступил на грабли... у меня вызывался метод MainServer.Save который выгружал все dll, но(!!!) изучая я пришёл к выводу, что функция ExecProcedure в библиотеке не успевает завершить свою работу (т.к. клсвенно вызвала метод MainSercver.Save, который уже выгрузил её саму).

Как же мне тогда сделать так, что бы этого не повторялось?

Я засунул метод Save в таймер ... который срабатывает после 2 секунд после обработки сообщения метода DispatchMsg. Тепрь всё работает. Никаких ошибок.
Но я считаю что это неправильно.

Как же мне сделать "правильно"?


 
Digitman ©   (2005-05-26 15:03) [56]


> функция ExecProcedure в библиотеке не успевает завершить
> свою работу


т.е. она реализует асинхронную логику ?... какого ж ... ты сразу об этом не упомянул ?)

ЧТО является признаком фактического (успешного или неуспешного) завершения работы алгоритма, инициированного к выполнению вызовом ExecProcedure() ?


 
kblc ©   (2005-05-26 15:12) [57]

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



Страницы: 1 2 вся ветка

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.039 c
3-1118270900
Dron1173
2005-06-09 02:48
2005.07.18
Обработка ошибок при работе с базой данных.


14-1119959261
-=XP=-
2005-06-28 15:47
2005.07.18
Постучим о дно кружки


14-1119894843
Ibrox
2005-06-27 21:54
2005.07.18
Авторские права


3-1118322970
KorvinOE
2005-06-09 17:16
2005.07.18
Как в ClientDataSet использовать CommandText?


10-1096353666
Zyb
2004-09-28 10:41
2005.07.18
ActiveX