1

Konu: Bir Formdan birden fazla değişkenin RETURN olmasını sağlamak

Bildiğiniz gibi bir formdan tek bir değişken RETURN edilebiliyor.
DO FORM formadi WITH parametre1, parametre2 TO degisken1

Birden fazla değişkeni döndürmek olası mıdır?

Aşağıdaki kod biliyorsunuz geçersiz oluyor.

DO FORM formadi WITH parametre1, parametre2 TO degisken1, degisken2

Şimdiden teşekkürler...

2

Re: Bir Formdan birden fazla değişkenin RETURN olmasını sağlamak

Hayır sadece tek degisken dondurebilirsin.
Ancak obje de bir degisken ve tek bir obje n tane property tutabilir hatta property arrayler yoluyla komple tabloları bile tutabilir. Yani indirekt olarak dondurebilirsin.
Ya da dondurmene hic gerek yoktur. Deger donmesi icin modal form olması gerekiyor. Modal formun unload eventinde birsey dondurmek yerine, release etmeyip, hide() edebilirsin. Hide() cagirildiginda kod devam eder ve sen modal formun property/event/mtodlarına ulasabilirsin. Kabaca soyle:

local loForm
do form myForm name loForm with myParameter
degisken1 = loForm.HerhangibirObje.Value
degisken2 = loForm.BaskabirObje.Value
loForm.release
release loForm

3

Re: Bir Formdan birden fazla değişkenin RETURN olmasını sağlamak

Obje yöntemi çok çekici. İçinde, belirttiğiniz gibi çok sayıda alt değişken tutabilirim property olarak.
Bir şey daha sormak istiyorum. Bir formun içindeki bir kontrolün DblClick olayına şunu yazsam

nDegisken1 = 0
cDegisken2 = ""
DO FORM form_adi WITH nDegisken1, cDegisken2
...

devamında da yeni (değişmiş, bir tür döndürülmüş) parametre değerlerini kullansam.
Burada parametreler yanılmıyorsam değer olarak değil de "by reference" olarak iletiliyor. Döndürmek istediğim değişkenleri parametre olarak versem bir sakıncası var mı? Ayrıca burada değişkenler PRIVATE olur herhalde değil mi?

4

Re: Bir Formdan birden fazla değişkenin RETURN olmasını sağlamak

O da bir yontem ama sakincali bir yontem hic tavsiye etmem.

5 Son düzenleyen, ercan (22.05.2007 18:48:48)

Re: Bir Formdan birden fazla değişkenin RETURN olmasını sağlamak

fikir vermesi açısından,
formdan döndürülecek değer bir stiring ifade olabilir,stiringi parçalayarak içinden değerleri alabilirsin,
şöyleki:
stringifade="değer1,değer2,değer3,değer4")   
return stringifade