Getlist und detached locals in Codeblock [Erledigt]

Moderator: Moderatoren

Antworten
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Getlist und detached locals in Codeblock [Erledigt]

Beitrag von Rudolf »

Hallo,
ich versuche Buttons über eine Schleife zu erstellen und im Action codeblock die Getlist übergeben, aber diese ist immer leer wenn die Funktion aufgerufen wird. Wie bekomme ich die getlist als Parameter in die Funktion ?
Grüße
Rudolf

Code: Alles auswählen



for x := 1 to 10
     @ x,1 DCPUSHBUTTONXP caption ntrim(x) SIZE 10,10 ACTION makeblock(getlist,x)
     @ x,1 DCPUSHBUTTONXP caption ntrim(x) SIZE 10,10 ACTION &("{||myfunction(getlist," + ntrim(x) + ")})




function makeblock(getlist,x)
******************************************************************
local cBlock := "myfunction(getlist," + ntrim(x) + ")"
return &("{||" + cBlock + "}")


function myfunction(aGetlist,x)
******************************************************************
DelUser01

Re: Getlist und detached locals in Codeblock

Beitrag von DelUser01 »

Hallo Rudolf

wenn Du noch keine Lösung gefunden hat, versuche doch zu beschreiben wie Du Dir die Funktion dieses Programmteils vorstellst. Ablauf oder so. Kann mir aus Deiner Beschreibung heraus noch kein Bild machen was da passieren soll und was Du erwartest.
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Getlist und detached locals in Codeblock

Beitrag von Rudolf »

Hallo Roland,
habe schon die Lösung von Roger. Damit kann ich in einer Schleife Buttons etc. problemlos erstellen.
Grüße
Rudolf

Code: Alles auswählen

#include "dcdialog.ch"
// ---------------------------------------------------------------------------
proc dbesys ; return
// ---------------------------------------------------------------------------
Function main()

local getlist := {}, x

for x := 1 to 10
   @ x,1 DCPUSHBUTTONXP caption Alltrim(Str(x)) SIZE 20,1 ACTION makeblock(getlist,x)  // test 1
next x

dcread gui fit

return .t.

* ----------

function makeblock(getlist,x)
return {||MyFunction(GetList,x)}

* ----------

function myfunction(aGetlist,x)
MsgBox( 'You pushed button ' + Alltrim(Str(x)))
dc_arrayview(aGetlist)
return

DelUser01

Re: Getlist und detached locals in Codeblock

Beitrag von DelUser01 »

Hallo Rudolf

dann ist das ja erledigt.
Benutzeravatar
Rudolf
Programmier-Gott
Programmier-Gott
Beiträge: 1418
Registriert: Mo, 02. Jan 2006 23:03
Wohnort: Salzburg/Österreich
Kontaktdaten:

Re: Getlist und detached locals in Codeblock

Beitrag von Rudolf »

Hallo Roland,
ja, hab nur vergessen die Lösung hier zu posten
Grüße
Rudolf
Antworten