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

Вниз

Сделано или нет?   Найти похожие ветки 

 
DeepProg ©   (2002-08-20 15:32) [0]

GD!
Пожалуйста напишите пример кода, который проверяет была выполнена или нет к.-л. процедура, ну и в зависимости от результата он выполняет к.-л. действие.
Я думаю, мне нужен оператор, типа

if not Procedure_Name(Form1) then begin
...
end;


 
Jeer ©   (2002-08-20 15:36) [1]

Лучшим вариантом будет использование функции, т.к. она отличается от процедуры тем, что возвращает определенный результат.

finction My: boolean;
begin
Result := False;
..
if ... then Result := True;
end;

Или использовать public переменную или глобальную переменную, устанавливаемую внутри Вашей процедуры.


 
MBo ©   (2002-08-20 15:37) [2]

а функция не устроит? ;)


 
Dmitriy Polskoy ©   (2002-08-20 15:38) [3]

Нужно отслеживать выполнение любой процедуры или какой-то конкретно? Можешь поподробнее изложить суть вопрос?


 
DeepProg ©   (2002-08-20 16:06) [4]

Подробнее излагаю вопрос:
Отслеживать нужно выполнение FormCreate.
Мое приложение содержит в себе базу данных, и еще запускает другое приложение.
БД и внешнее приложение(далее ВП) взаимодействуют, и фактически все команды, посылаемые to ВП находятся в обработчике события OnCalcFields таблицы БД.
В первую очередь происходит запуск ВП, затем должна идти FormCreate , и уже после всего этого OnCalcFields (описана ситуация, когда в таблице БД, уже лежат данные, достаточные для выполнения OnCalcFields).Проблема в том, что сначала (еще до FormCreate) выполняется OnCalcFields - но из него посылается задание ВП-ю, выполнение котoрого(задания) невозможно без пароаметров, определяемых в FormCreate.
Так вот я и хочу в обработчике OnCalcFields ввести проверку выполнения FormCreate, и, если результат false - задать необходимые для дальнейшей нормальной работы параметры уже в OnCalcFields.

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


 
Reindeer Moss Eater   (2002-08-20 16:15) [5]

В обработчике FormCreate установи проперти OnCalcFields у датасета. Таким образом, он будет вызываться только после создания формы


 
Dmitriy Polskoy ©   (2002-08-20 16:22) [6]

Попробуй обойтись переменной типа boolean, которая инициализируется в True в конструкторе формы. А потом проверяй ее значение.


 
Val ©   (2002-08-20 16:38) [7]

if Assigned(MyForeignForm) then...


 
DeepProg ©   (2002-08-20 19:06) [8]


> Reindeer Moss Eater (20.08.02 16:15)
> В обработчике FormCreate установи проперти OnCalcFields
> у датасета. Таким образом, он будет вызываться только после
> создания формы

Но ведь OnCalcFields выполняется до FormCreate, независимо от того есть его постановка в FormCreate или нет.

Поэтому, господа Reindeer Moss Eater and Val, можно поподробнее о ваших решениях.

2 Dmitriy Polskoy © (20.08.02 16:22)
Не получается - форма все равно не создается.


 
DeepProg ©   (2002-08-20 19:50) [9]

Вот те нате!

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

Я думаю, что создание формы запаздывало из-за нехватки памяти (хотя, неужели ему мало 256 мегов? S:-/



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

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

Наверх




Память: 0.49 MB
Время: 0.016 c
7-3633
neo_max
2002-06-21 12:53
2002.09.02
Вопрос !!!!


3-3230
Pavel_
2002-08-10 08:08
2002.09.02
Ошибка


1-3470
lety
2002-08-20 20:36
2002.09.02
arj


14-3607
Vladimir_Shk
2002-08-07 13:10
2002.09.02
DelphiIDE


1-3462
JustAMan
2002-08-20 21:34
2002.09.02
Как изменить высоту cell a