Beiträge: 666
	Themen: 77
	Registriert seit: Oct 2013
	
Bewertung: 
0
	 
	
	
		Hallo,
Ich dachte ich komme immer an alle Attribute ran mit dem Befehl ?
Warum liefert mir dann das:
ntui_GetAttrByID{AppContext\tuiEngine,"tncEngine",#TUIEA_AREXXPORT,portname.s}
oder auch bei
ntui_GetAttr{AppContext\tuiEngine,#TUIEA_AREXXPORT,portname.s}
nichts zurück ?
Ps:
Habe gerade gesehen im Befehl ntui_GetAttr{} kann man nicht nach Engineattributen suchen, weil keine enthalten sind.
Gibts dafür einen anderen Befehl außer den internen _ntui_GetEngineAttr{} ?
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 666
	Themen: 77
	Registriert seit: Oct 2013
	
Bewertung: 
0
	 
	
	
		habs jetzt mal so gelöst:
[ab3]*Engine.tuiEngine = ntui_GetEngine{AppContext\tuiEngine}
 portname.s = str_Read{&*Engine\rxPortName}[/ab3]
[ATTACHMENT NOT FOUND]
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 396
	Themen: 8
	Registriert seit: Sep 2013
	
Bewertung: 
0
	 
	
	
		Du darfst noch auf Felder der Structs zugreifen. ntui_GetEngineAttr ist auch nicht erlaubt, oder ;-) (ist das nicht private?)
Du hast schon recht, man kommt mit ntui_GetAttr an alle Sachen ran, an die man auch ran kommen darf.
In deinem Fall hast du nur Amiblitz überschätzt, dass es versteht dass es einen String kopieren soll. ntui_GetAttr gibt lediglich einen Pointer zurück. In einen amiblitz String musst du das selbst konvertieren. Denke dran, dass ntui, zumindest der core, keine Amiblitz3 eigenheiten benutzt da es auch unter C und anderen Sprachen verwendbar sein soll.
Also:
[ab3]portname.s = "<undefined>"
If ntui_GetAttr{*Engine,#TUIEA_AREXXPORT,&*stringPointer.b}
  If *stringPointer Then portname = Peek.s(*stringPointer)
End If[/ab3]
EDIT:
[ab3]*Engine.tuiEngine = ntui_GetEngine{AppContext\tuiEngine}[/ab3]
Das ist zwar erlaubt, aber sinnlos. Wenn AppContext\tuiEngine bereits die tuiEngine ist, warum holst du sie neu?
ntui_GetEngine solltest du auf das erste Object machen dass du erzeugst. Danach verwendest du es überall.
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 666
	Themen: 77
	Registriert seit: Oct 2013
	
Bewertung: 
0
	 
	
	
		Ok, Danke !
Funktioniert !
Wie ich bereits annahm lag es am Pointer...
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 396
	Themen: 8
	Registriert seit: Sep 2013
	
Bewertung: 
0
	 
	
	
		Dein AppContext\TuiEngine sollte auch ein Pointer auf .tuiEngine sein. Mache dein Programm am besten Syntax 6. Hilft ungemein.
	
	
	
	
	
 
 
	
	
	
		
	Beiträge: 666
	Themen: 77
	Registriert seit: Oct 2013
	
Bewertung: 
0
	 
	
	
		Habs geändert, war wirklich ein Long im Newtype anstatt .tuiEngine
hab auch umgestellt auf syntax 6, war bisher syntax 2.
Danke