Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.011 c
6-69474
megatrend
2002-08-30 18:37
2002.11.21
need help : Программа, написанная на Delphi5,


1-69284
guood
2002-11-12 10:19
2002.11.21
Как просмотреть свойства всех CheсkBox-ов на форме?


3-69115
dim-
2002-11-03 02:51
2002.11.21
Как узнать путь к БД isc4.gdb


14-69580
АК-47 и зенитно-ракетный коплекс
2002-11-04 18:54
2002.11.21
Самый живучий


14-69548
kull
2002-11-01 12:10
2002.11.21
Техника безопасности.




   Наверх