Zitat von
RavenIV:
Da wird vermutlich bei jedem Durchlauf ein Objekt angelegt aber nie wieder freigegeben.
Also wird jedes mal ein neues Objekt erzeugt.
Somit wächst der Speicherbedarf kontinuierlich.
Ja, darauf bin ich auch schon gekommen... nur weiss ich eben nicht wo!
Zitat von
SirThornberry:
Was macht GetSession?
Diese Funktion holt mir den Benutzernamen des angemeldeten Benutzers mit der Hilfe von
JWSCL!
Delphi-Quellcode:
function TSisterWatch.GetSession:
String;
//var
// TS : TJwTerminalServer; --> wurde testhalber als public var von TSisterWatch deklariert
begin
try
TS := TJwTerminalServer.Create;
TS.Connect;
TS.EnumerateSessions;
Result := TS.Sessions[0].Username;
// every second before the first login it raise an exception!
FreeAndNil(TS);
{its very important to free TS memory!}
except
FreeAndNil(TS);
{its very important to free TS memory!}
end;
end;
// Ergänzung:
Eigentlich hab ich zuerst gedacht, dass es an eben dieser Funktion liegen muss, da dies die einzige ist, die immer wieder aufgerufen wird... aber TS wird ja immer wieder freigegeben oder nicht?