Object und Codeblock ( String ) [erledigt]

Klassen, Objekte, Methoden, Instanzen

Moderator: Moderatoren

Antworten
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Object und Codeblock ( String ) [erledigt]

Beitrag von AUGE_OHR »

hi,

wenn ich einen String für einen Codeblock bauen will bekomme ich ein Object "so" nicht rein.

Code: Alles auswählen

cString := "{|| PostAppEvent(myE_Event,"+oObject+" ,, oMain}"
auch wenn ich eine Functionen nehme

Code: Alles auswählen

cString := "{|| PostAppEvent(myE_Event,"+MyFun()+" ,, oMain}"
komme ich nicht weiter ... :banghead:

aber irgendwie muss es doch gehen ... aber wie ?
Zuletzt geändert von AUGE_OHR am Do, 29. Jan 2015 5:42, insgesamt 1-mal geändert.
gruss by OHR
Jimmy
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Object und Codeblock ( String )

Beitrag von Tom »

Einfach ohne Anführungszeichen:

Code: Alles auswählen

cString := "{|| PostAppEvent(myE_Event,oObject,, oMain}"
cString := "{|| PostAppEvent(myE_Event,MyFun(),, oMain}"
:wink:
Herzlich,
Tom
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9345
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 100 Mal
Danksagung erhalten: 359 Mal
Kontaktdaten:

Re: Object und Codeblock ( String )

Beitrag von Tom »

Und wenn sich oObject und MyFunc() auf etwas beziehen, das im Moment der Codeblockerzeugung (Makro) ausgewertet werden soll, dann so:

Code: Alles auswählen

cString := "{|| PostAppEvent(myE_Event,'"+oObject+"',, oMain}"
Einfache Anführungszeichen vor/hinter den normalen.
Herzlich,
Tom
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Object und Codeblock ( String )

Beitrag von AUGE_OHR »

hi,
Danke für deine Antworten.
Tom hat geschrieben:Und wenn sich oObject und MyFunc() auf etwas beziehen, das im Moment der Codeblockerzeugung (Makro) ausgewertet werden soll, dann so:

Code: Alles auswählen

cString := "{|| PostAppEvent(myE_Event,'"+oObject+"',, oMain}"
Einfache Anführungszeichen vor/hinter den normalen.
aber bei der Syntax "schreit" er doch

Code: Alles auswählen

String + Object
auch bei dem Beispiel

Code: Alles auswählen

cString := "{|| PostAppEvent(myE_Event,oObject,, oMain}"
gibt es ein Problem beim EVAL() -> oObject "unbekannt" wenn man es nicht PRIVATE macht.

Code: Alles auswählen

cString := "{|| PostAppEvent(myE_Event,MyFun(),, oMain}"
hm ... die Function direkt in den String statt "+MyFun()+" ... das muss ich mal ausprobieren


ich muss vielleicht hinzufügen warum ich per String einen Codeblock zusammenbaue.
ich bin nicht im gleichen Thread wie Main, denn "gleich" als Codeblock wäre es ja kein Problem mit Objecten.
ich möchte einen Xbase++ Code Slot "auslösen".

Code: Alles auswählen

o:buttonClick := {| oButton,uNil,self | ... } 
das Problem ist nun "mp1" = oButton
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
Beiträge: 12903
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg
Hat sich bedankt: 19 Mal
Danksagung erhalten: 44 Mal

Re: Object und Codeblock ( String )

Beitrag von AUGE_OHR »

moin,

ich habe falsch gedacht ... der Codeblock Slot wird ja gewöhnlich schon im Xbase++ Thread "belegt".

um ihn zu aktivieren muss ich aus meinem Thread nicht ein PostAppEvent() schicken sondern den Codeblock in meinem Thread EVALulieren wobei ich die Parameter "mp1" ja übergeben kann ;)
gruss by OHR
Jimmy
Antworten