Witam!
Wielokrotnie w swoich programach dochodzę do miejsca, w którym eleganckim rozwiązaniem byłoby zapisanie całej klasy do tablicy bazy danych. Innymi słowy chciałbym przechowywać formy (zawartość całej klasy) w polach blob tak aby użytkownik mógł wybrać żądaną formę z wyświetlonej listy. Sprawa z pewnością nie jest prosta bo nie wystarczy zapisanie adresu i offsetu formy , którą chciałbym tworzyć dynamicznie. Pewnie trzeba byłoby zapisać fragment pamięci, w której forma jest utworzona ale nie przychodzi mi do głowy żaden pomysł jak to uczynić.
Ogólny algorytm mógłby wyglądać tak:
- Mforma:=Tform.create..
- Adres:=get.address(Mforma)
- Offset:= get.offset(Adres,Mforma)
- blob:=read.from.memory(Adres,Offset)
- save.blob
a teraz odtworzenie formy - set.in.memory(read.blob, Adres,Offset)
To co wyżej to tylko poglądowe rozwiązanie ale może ktoś mądrzejszy zna lub wie jak dokładnie rozwiązać ten problem?