![]() |
Datenbank: Alle • Zugriff über: native
TDataset.Bookmark oder TDataset.GetBookmark verwenden ??????
Hallo,
ich hab mal ne Frage,.... Rate ich da richtig wenn ich denke das der Vorteil von TDataset.Bookmark ist das ich kein FreeBookmark benötige? Das wäre recht angenehm wenn das über eine art Referenzcounter passiert (Strings funktionieren so, oder?) |
Re: TDataset.Bookmark oder TDataset.GetBookmark verwenden ??
Titel geändert
|
Re: TDataset.Bookmark oder TDataset.GetBookmark verwenden ??
Zitat:
|
Re: TDataset.Bookmark oder TDataset.GetBookmark verwenden ??
XD
Hast du ne Ahnung vom Thema,... zufällig? |
Re: TDataset.Bookmark oder TDataset.GetBookmark verwenden ??
Hallo,
Zitat:
Grüße vom marabu |
Re: TDataset.Bookmark oder TDataset.GetBookmark verwenden ??
Es sollte aber auch klar sein, dass sich TDataset.Bookmark bei jedem Datensatzwechsel ebenfalls verändert. Wenn man sich also was 'merken' will, dann muss man doch wieder mit Get, GoTo und Free arbeiten.
|
Re: TDataset.Bookmark oder TDataset.GetBookmark verwenden ??
Hallo,
GetBookmark() besorgt den benötigten Speicherplatz für das Bookmark mit GetMem() vom Heap, deshalb muss dieser Speicher irgendwann mit FreeBookmark() wieder freigegeben werden. TDataSet.Bookmark benutzt einfach einen String zum Speichern derselben Information. Der Speicherplatz für Strings wird von Delphi ohne unser Zutun verwaltet. Das Lesen der Property entspricht GetBookmark(), das Schreiben entspricht GotoBookmark(), FreeBookmark() entfällt. Freundliche Grüße |
Re: TDataset.Bookmark oder TDataset.GetBookmark verwenden ??
Na das ist ja genau das was ich suche. Ich kann also z.b. jeden Datensatz der getrecord passiert bookmarken ohne die freigaben verwalten zu müssen und habe dennoch kein Memoryleak es sei denn ich stelle mich blöd an.
|
Re: TDataset.Bookmark oder TDataset.GetBookmark verwenden ??
Wenn man mit sharemem arbeitet funktioniert das nicht ganz so gut kann das sein?
Ich merke mir das Bookmark in einer Anwendung die holt es sich aus einer dll. wenn ich nun das TDataset aus der DLL zerstöre muss ich zuvor alle Bookmark strings := '' setzen sonst hagelt es Zugriffsverletzungen. Also muss ich die Bookmarks schon irgendwie verwalten so oder so. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 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