@TransferNoteHandle
Syntax
@TransferNoteHandle(NOTEHANDLE1;NOTEHANDLE2);
Beschreibung
Bildet den externen NOTEHANDLE NOTEHANDLE1 auf den NOTEHANDLE NOTEHANDLE2 ab und transferiert ihn dabei in den aktuellen Kontext.
Der NOTEHANDLE NOTEHANDLE2 wird zurückgegeben.
@TransferNoteHandle ist vor allem für GLOBALe DEFFN Funktionen gedacht, in denen auf die Felder eines übergebenen NOTEHANDLE zugegriffen werden soll.
Werden in einer solchen GLOBALen DEFFN Funktion die Feld Inhalte verändert, so werden diese Änderungen im Original nur gültig, wenn ein Rücktransfer durchgeführt wird.
Der NOTEHANDLE NOTEHANDLE1 sollte jedoch nicht aus einem anderen Task stammen, da sonst ein Zugriff auf den transferierten oder originalen NOTEHANDLE mit @Functions, die Notes API Functions benutzen, zu einem "LookUp Handle" Fehler des Servers führen (Folge:der Server steht).
Beispiel: @TransferNoteHandle(NOTEHANDLE1;NOTEHANDLE2);
(Ohne Rücktransfer)
DELFN:ReportNTH[GLOBAL]();
DEFFN:ReportNTH[GLOBAL](noteh1)
{
noteh2:=@TransferNoteHandle(noteh1;noteh2);
@LogReport(noteh1;3);
@LogReport(noteh2;3);
@PrtVStack("noteh2";0;2048);
}
Der übergebene NOTEHANDLE noteh1 wird in den aktuellen Kontext überführt und als NOTEHANDLE noteh2, in diesem Kontext gültig, zurückgegeben.
Beispiel: @TransferNoteHandle(NOTEHANDLE1;NOTEHANDLE2);
(Mit Rücktransfer)
DELFN:ModNTHTestText[GLOBAL]();
DEFFN:ModNTHTestText[GLOBAL](*noteh1)
{
noteh2:=@TransferNoteHandle(noteh1;noteh2);
TestText[noteh2]:="Test-Veränderung";
noteh1:=@TransferNoteHandle(noteh2;noteh1); /*Rücktransfer*/
}
Der übergebene NOTEHANDLE noteh1 wird in den aktuellen Kontext überführt und als NOTEHANDLE noteh2, in diesem Kontext gültig, zurückgegeben.
Das Feld TestText wird verändert.
Um das Feld TestText auch im rufenden Kontext(der CALL Aufruf) zu verändern muß der Rücktransfer erfolgen.
