Текущий архив: 2002.11.21;
Скачать: CL | DM;
ВнизФункция... Найти похожие ветки
← →
First_May (2002-11-12 10:19) [0]Здравствуйте! У меня есть некоторая функция, которую я вызываю следующим образом:
function Vocabs_(cod: integer): integer;
begin
CodVoc:=cod;
FormListVocabs:=TFormListVocabs.Create(Application);
FormListVocabs.ShowModal;
FormListVocabs.Free;
Result:=CodVoc;
end;
Подскажите пожалуйста, возможно ли как нибудь реализовать подобную вещь, но только вместо ShowModal использовать Show?
← →
Bsl (2002-11-12 10:35) [1]А почему нельзя?
Только при закрытии окна Action:=caFree;
А то, что написал ты, лучше писать так:
with TForm.Create(Self) do
try
ShowModal;
finally
Free;
end;
← →
First_May (2002-11-12 10:41) [2]То Bsl
Ты меня наверное не понял, я хотел бы узнать, как реализовать подобную вещь, но только с методом Show...
← →
Skier (2002-11-12 10:52) [3]>First_May
1) А что есть CodVoc ?
2) И раскажи про цель твоей функции по-подробней...
← →
Николай Быков (2002-11-12 11:03) [4]
> First_May © (12.11.02 10:41)
> То Bsl
> Ты меня наверное не понял, я хотел бы узнать, как реализовать
> подобную вещь, но только с методом Show...
А почему у тебя не получается Show вместо ShowModal?
← →
First_May (2002-11-12 11:05) [5]Функция добавляет запись в базу, а код этой записи возвращаю в CodVoc, а затем после разрушения формы перемещаюсь на эту запись...
← →
Юрий Федоров (2002-11-12 11:06) [6]>Николай Быков © (12.11.02 11:03)
Не получается потому, что управление выходит из функции до закрытия формы.
Я думаю, должна быть процедура, которая открывает форму, которая по закрытию нотифицирует вызывавшую сторону об изменениях
← →
First_May (2002-11-12 11:07) [7]То Николай Быков © (12.11.02 11:03)
Потому что, после ShowModal идет метод Free, а ресурсы освобождать надо.
← →
First_May (2002-11-12 11:10) [8]То Юрий Федоров © (12.11.02 11:06)
То есть, надо писать вместо одной функции две???
← →
Skier (2002-11-12 11:12) [9]>First_May
1) Советую всё-таки делать ShowModal (иначе писать такую функцию как у тебя - изврат...)
2) Если всё-таки нужен Show, то лучше передавать всё что нужно
в обработчике TFormListVocabs.OnClose, поставив там
Action := caFree;
← →
First_May (2002-11-12 11:42) [10]Таким образом, первая процедура создает форму, а вторая при уничтожении формы возвращает результат. Я правильно понял???
← →
Skier (2002-11-12 11:45) [11]>First_May
В принципе, да.
- первая процедура создает форму -
FormListVocabs:=TFormListVocabs.Create(Application);
FormListVocabs.Show;
- вторая (обработчик OnClose)- возвращает результат
← →
First_May (2002-11-12 12:05) [12]Ясно, спасибо!!!!!
Страницы: 1 вся ветка
Текущий архив: 2002.11.21;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.017 c