Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.49 MB
Время: 0.016 c
14-69517
Andrew Klochko
2002-11-02 17:04
2002.11.21
FIDO


3-69130
Leshik
2002-10-30 09:31
2002.11.21
Как соединить несколько баз по общему полю?


4-69624
mifi
2002-10-10 22:40
2002.11.21
как змая IP адрес узнать имя


4-69627
vidiv
2002-10-09 06:26
2002.11.21
как получить иконку ярлыка без стрелки


3-69104
Jak
2002-11-01 16:26
2002.11.21
Помогите победить MS SQL Server v 7.0