Всем работающим привет !
И не работающим тоже.
Показал Сергей мне тут недавно как передавать данные в другую функцию без параметров.
Мне он давно советовал использовать, но всё некогда было разбираться.
Я думаю другим этот метод тоже будет интересен. Удобно очень.
Поясню как это выглядит по коду.
SET OOP ON
Function ...
LOCAL oBrw, cFileIni, cBasePath
cFileIni := ....
cBasePath := ...
DEFINE WINDOW Form_Card ..... ;
....
(This.Object):Cargo := oKeyData() // создает объект без переменных (условно пустой) используем ниже по коду
(This.Object):Cargo:cAlias := Alias() // на окне запомнили, текущую базу
(This.Object):Cargo:cFileIni := cFileIni // на окне запомнили, ini-конфиг
(This.Object):Cargo:cBasePath := cBasePath // на окне запомнили, путь и имя базы
.....
END WINDOW
RETURN
// ------ в этом же модуле
FUNCTION myCardBtn() // <- нет параметров
LOCAL oCargo := This.Cargo
LOCAL cFileIni := oCargo:cFileIni // какой ini-конфиг
LOCAL cAlias := oCargo:cAlias // какая текущая база
LOCAL cBasePath := oCargo:cBasePath // какой путь и имя базы
....
RETURN Nil
// ------ в другом модуле, другой .prg
FUNCTION myExternReport() // <- нет параметров
LOCAL oCargo := GetProperty("Form_Card", "Cargo")
LOCAL cFileIni := oCargo:cFileIni // какой ini-конфиг
LOCAL cAlias := oCargo:cAlias // какая текущая база
LOCAL cBasePath := oCargo:cBasePath // какой путь и имя базы
....
RETURN Nil
Как видите - не нужно передавать кучу параметров в функции, что часто приходиться делать.
Кодить стало проще, кодить стало веселей !
Сергей, как этот метод передачи правильно называется ? И объем данных какой можно передавать ?
Допустим целиком объект TSB можно передать и как это будет выглядеть ?
Более подробно как это можно использовать смотрите в примере Tsb_dbf_array,
который передал Григорию.