** In main.prg PUBLIC cArtikey, cSupplier, cNewsupplier DO BaseArti *** In your form Init Event thisform.Text1.Value = m.cArtikey ...2. Define variables as public IN Procedure body (there is no much difference between this and first method)
DO BaseArti PROCEDURE basearti() PUBLIC cArtikey, cSupplier, cNewsupplier STORE "F*0001" TO cArtikey STORE "ZOOM" TO cSupplier STORE "YES" TO cNewsupplier ENDPROC *** In your form Init Event thisform.Text1.Value = m.cArtikey ...3. Pass a parameter to show what you want to return
*** In your form Init Event thisform.Text1.Value = BaseArti(1) thisform.Text2.Value = BaseArti(2) ... FUNCTION basearti(what_to_return) DO CASE CASE what_to_return == 1 RETURN "F*0001" CASE what_to_return == 2 RETURN "ZOOM" CASE what_to_return == 3 RETURN "YES" ENDCASE RETURN "" ENDPROC4. Return an object that holds all you need
*** In your form Init Event LOCAL oEmpty oEmpty = BaseArti() thisform.Text1.Value = oEmpty.cArtikey thisform.Text2.Value = oEmpty.cSupplier thisform.Text3.Value = oEmpty.cNewsupplier ... FUNCTION basearti() LOCAL oTmp AS EMPTY oTmp = CREATEOBJECT("EMPTY") ADDPROPERTY(oTmp, "cArtikey","F*0001") ADDPROPERTY(oTmp, "cSupplier","ZOOM") ADDPROPERTY(oTmp, "cNewsupplier","YES") RETURN oTmp ENDPROC