Как вызват функцию из другой формы ?

valkuz
Дата: 05.12.2007 14:11:21
В одной из форм описана функция пользователя , как к ней обратится из другой формы в этой же программе ?
Ega
Дата: 05.12.2007 14:15:27
valkuz
В одной из форм описана функция пользователя , как к ней обратится из другой формы в этой же программе ?


uses Имя_юнита_где_описана_форма

SomeValue := Form15.SomeFunction.

Только это плохо-спроектированный проект, таких вещей быть не должно.
Ivengo
Дата: 05.12.2007 14:15:33
если она не в привате, то Form.Имя_функции, не забудь поддключить модуль с этой формой, форма должна быть создана.
Naf
Дата: 05.12.2007 14:18:00
Ivengo
если она не в привате, то Form.Имя_функции, не забудь поддключить модуль с этой формой, форма должна быть создана.

а кто сказал, что она метод класса?
Ivengo
Дата: 05.12.2007 14:20:29
Naf
Ivengo
если она не в привате, то Form.Имя_функции, не забудь поддключить модуль с этой формой, форма должна быть создана.

а кто сказал, что она метод класса?

Там было написано в одной из форм, я понял буквально :)
Naf
Дата: 05.12.2007 14:22:28
Ivengo
Naf
Ivengo
если она не в привате, то Form.Имя_функции, не забудь поддключить модуль с этой формой, форма должна быть создана.

а кто сказал, что она метод класса?

Там было написано в одной из форм, я понял буквально :)


может Вы и правы, хотя это вообще не корректно на форме кнопка лежать может, а метод принадлежит классу формы
valkuz
Дата: 05.12.2007 14:54:12
Нет функция не метод класса и к ней не обращается как SomeValue := Form15.SomeFunction.
Наверно я вопрос задал не корректно функция в unit Main

после
implementation
Uses UKorr,Ureestr;
Function STRS(x: double) :string;
var s: string[14];
begin
str(x:14:2,s);
result:=s;
end;


и вызывается FORM2 и в ней хотелось бы вызвать эту функцию.
Naf
Дата: 05.12.2007 15:19:08
valkuz
Нет функция не метод класса и к ней не обращается как SomeValue := Form15.SomeFunction.
Наверно я вопрос задал не корректно функция в unit Main

после
implementation
Uses UKorr,Ureestr;
Function STRS(x: double) :string;
var s: string[14];
begin
str(x:14:2,s);
result:=s;
end;


и вызывается FORM2 и в ней хотелось бы вызвать эту функцию.


нужно до implementation
написать ее объявление Function STRS(x: double) :string;
а в другом модуле после implementation
uses Main

а вообще лучше такие функции выделять в отдельный класс
Anatoly Podgoretsky
Дата: 05.12.2007 18:34:04
В форме/на форме нет функций, они могут быть только в модуле.