AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi DataSnap und Rückgabewerte
Thema durchsuchen
Ansicht
Themen-Optionen

DataSnap und Rückgabewerte

Ein Thema von Dragon27 · begonnen am 11. Okt 2013 · letzter Beitrag vom 11. Okt 2013
Antwort Antwort
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.072 Beiträge
 
Delphi 12 Athens
 
#1

AW: DataSnap und Rückgabewerte

  Alt 11. Okt 2013, 12:17
Prinzipiell ja, aber du muss aufpassen, dass du diese Klassen nicht selbst freigibst. Das macht DataSnap nämlich selber, entweder beim nächsten Aufruf der Funktion oder beim Beenden des Programms.
Wenn du das nicht beachtest, gibt es schöne Fehlermeldungen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#2

AW: DataSnap und Rückgabewerte

  Alt 11. Okt 2013, 13:11
Super danke für den Tipp
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.013 Beiträge
 
Delphi 2009 Professional
 
#3

AW: DataSnap und Rückgabewerte

  Alt 11. Okt 2013, 14:16
Prinzipiell ja, aber du muss aufpassen, dass du diese Klassen nicht selbst freigibst. Das macht DataSnap nämlich selber, entweder beim nächsten Aufruf der Funktion oder beim Beenden des Programms.
Beim Sitzungsende werden die Objekte tatsächlich nicht freigegeben? Gut, bei ein paar Dutzend mittelgroßen Objekten mag das ja kein Problem sein...
Michael Justin
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.584 Beiträge
 
Delphi 12 Athens
 
#4

AW: DataSnap und Rückgabewerte

  Alt 11. Okt 2013, 15:17
Wann das genau alles freigegeben wird, kann ich auch nicht mehr sagen.
Aber wer mal ausprobieren will wann es passiert, der kann das ganz einfach im Destructor der Klasse mitlogen/debuggen.
eventuell räumt der bei Sitzungsende uch schon auf.

Bei einigen Typen (z.B. Streams), da stellt Delphi ein Property bereit, über das man regeln kann "ob" diese Objekte von dir oder vom DataSnap freigegeben werden sollen, also in den automatisch generierten Klientklassen ist es zumindestens so.

Wer zurückgegebene Objekte über "längere" Zeit und vorallem über mehrere DataSnapFunktionsaufrufe hinweg aufheben will, der muß sich sowieso selber um die Freigabe kümmern, denn sonst klaut einem das DataSnap das Objekt unterm Arsch weg.

Delphi-Quellcode:
A := DS.RegisterUser('a@b.c');
B := DS.RegisterUser('x@y.z');
MachWas(A); // A ist hier vermutlich schon weg, bzw. durch B ersetzt
MachWas(B);
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (11. Okt 2013 um 15:23 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz