Восемь лет спустя
kv75
дневник заведен 05-10-2003
постоянные читатели [82]
закладки:
цитатник:
дневник:
местожительство:
Москва, Россия
интересы [13]
шахматы, грибы, Пратчетт, Иваси, Morrowind, Guild Wars
[1] 08-05-2008 07:37
Альпы

[Print]
Элизабет
Среда, 6 Апреля 2005 г.
21:39 Опять о своём
Сегодня на второй работе дописал основу изменённой программы для сайта - теперь она будет через MySQL работать. Опять мой любимый ZeosDBO...

Запускаю - выдаёт Access violation. Сколько раз надо наступать на одни и те же грабли?! Правда, когда я пишу с нуля, я уже эти грабли обхожу, а тут переделывал и не заметил. Грабли совершенно тривиальные, и все пишущие программы на Дельфи их наверняка знают. В общем виде это выглядит так: создаются главная форма и модуль данных с компонентами работы с БД. Разумеется, в модуле данных ссылаться на главную форму некрасиво. Поэтому некоторая инициализация элементов формы должна быть проведена именно в ней - обычно это делается в OnCreate. Но если эта инициализация использует данные из БД, то ничего не выйдет, так как в это время компоненты модуля данных ещё не созданы (и не инициализированы, кстати). Менять порядок создания форм в файле проекта как-то неэстетично. Поэтому естественное решение, которое я нашёл для себя - использовать для инициализации обработчик формы OnShow. При этом в OnCreate ставится флаг того, что форма только что создана, а после первого прохода OnShow этот флаг снимается, и больше инициализация выполняться не будет.

В общем, когда я сделал эту стандартную операцию, всё нормально запустилось. Завтра буду тестировать.
08:09 Свободное время
Опять у меня началась шахматная лихорадка - всё свободное время провожу на шахматах, даже в дневник сделать запись некогда.
Обидно, что для того, чтобы выигрывать на тех шахматах реальные деньги, надо сначала стать членом, а не гостем. Для этого надо положить на счёт деньги. При этом платежи принимаются только Paypal, Visa и American Express.
Нет, пора заводить нормальную солидную карточку, чтобы можно было зарабатывать деньги, а не только тратить время. А то есть там у меня 25 гостевых долларов - ну и что я с ними буду делать?
Закрыть