Wpis z mikrobloga

#programowanie #pytanie #csharp

Czy mogę jakoś zapisać stan aplikacji z pamięci żeby potem ją odtworzyć. Chodzi o to, że mam aplikacje (WFA). która może mieć wiele różnych okienek otwartych (jako tabPage`e) a w każdym są różne opcje do ustawiania. Chciałbym odtworzyć aplikacje w takim stanie w jakim ją zapisałem. Da się jakiś zrzut z pamięci zrobić i potem aplikacje otworzyć w dokładnie takim stanie w jakim była podczas zapisu?
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PanCogito: W teorii jest to możliwe, w praktyce bardzo trudne, ale generalnie zabierasz się do problemu od d--y strony. Zaimplementuj w swojej aplikacji jakiś stan, zapisuj go sam i sam go odtwarzaj przy ponownym uruchomieniu.
  • Odpowiedz
@Rev: chciałem właśnie tego uniknąć bo oprócz zapisu stanu że tak powiem modelu w mojej aplikacji (co było by dość proste) muszę jeszcze zapisywać informacje o widoku okienek czyli co gdzie jest pozaznaczane powłączane, pozaznaczane itp a to chyba dość kłopotliwe będzie
  • Odpowiedz
@PanCogito: mozesz googlac cos w desen

how to store user’s preferences in windows forms application

W vb to bylo na pewno my.settings, cs chyba properties.settings ale glowy nie dam. Ostatni raz bawilem sie csharpem daaaaaaawno temu

Pominawszy, ze i tak troche z tym zabawy jesli masz duzo ustawien do zapamietania. Ale warto.
  • Odpowiedz
@PanCogito: to sie nazywa serializacja - prosta metoda "bruteforce" dziala w sposob nastepujacy: markujesz jakims atrybutem elementy stanu do zserializowania (propertiesy / cokolwiek zechcesz) i metoda serializujaca aplikacje robi zapis tych stanow ktore sobie oznaczyles jako serializowalne (xml / json / whatevah) do pliku. otwierajac aplikacje wywolujesz metode deserializujaca i analizujesz zapisane stany elementow, ktore zostaly dodane (jesli cos istnialo podczas serializacji, to bedzie zapisane, wiec w odczycie jesli otrzymasz
  • Odpowiedz
@PsichiX: Serializacje znam. O ile do odtworzenia modelu aplikacji bezpośrednia serializacja i deserializacja powinna wystarczyć to ciężko będzie odtworzyć okienka i kontrolki odnoszące się do modelu. No ale tak jak mówisz będę pewnie musiał 'ręcznie' w kodzie tworzyć kontrolki i okienka zgodnie z zapisanymi parametrami.
  • Odpowiedz