WM2003,MFC i zamrażanie działania programu - możliwe ???????

  • 5 Odpowiedzi
  • 1083 Wyświetleń

0 użytkowników i 1 Gość przegląda ten wątek.

Witam.

Na początku chciałbym wylać całe wiadro żółci na ten dział forum za to, że jak człowiek ma problem i chce uzyskać odpowiedź to na połowe pytań tylko uzyskuje. Dodatkowo osoby się tylko przyglądają a nikt nie udziela odpowiedzi. Może maoje pytania sa za trudne albo wręcz przeciwnie - tak błahe, że nikomu nie chce się na nie odpowiadać. Niestety nie znam osobiście żadnego szpenia od programowania na palmtopy. Dlatego właśnie tak sporo pytań tutaj zadaję. Jakby było innaczej nie byłby tutaj żadnych moich pytań. Jak do tej pory nie znalazłem lepszego polskiego forum gdzie możnaby zadawać pytania na temat programowania na PocketPC - a może jestem w błędzie. Już mi lepiej jak to napisałem.

A teraz do rzeczy. Chodzi mi o funkcję w MFC która pozwalałaby zamrozić działanie programu na czas wyłączenia palmtopa. Chodzi mi o to aby po ponownym włączeniu palmtopa program był w takim stanie/miejscu jakim go opóściłem przed wyłączeniem. Chodzi mi o oszczędnośc baterii. Pytam się bo pisze aplikację do obsługi pewnych instrumentów pomiarowych. Zamrażanie jest mi potrzebne po to gdyż instrumenty te przemieszcza się z miejsca na miejszcze (właściwie z punktu na punkt o sporych odległościach - kilometrowych) a pomiar trwa na punkcie około 15 minut i później znów transport na kolejny punkt. Istotny jest również w tym wszystkim pomiar czasu. Jeśli cały czas działałby palmtop to wysiadłaby bateria po 4-6 godzinach a sesja pomiarowa trwać może nawet dwa razy dłużej. Niby mozna doładowywać baterie w samochodzie, ale zdarzać sie bedzie i to bardzo często, że instrument bedzie transportowany ręcznie i przez cały dzień (sesję pomiarową trwającą cały dzień) nie będzie mozliwości na doładowanie baterii w palmtopie.

Tyko proszę nie pisać że istnieje MSDN bo nawet nie mam pojęcia jak tego szukać jakby nawet cos tam było na ten temat. Pytam sie również z tego powodu że dopiero pozjanę MFC.

Pozdrawiam i proszę o odpowiedź..

*

Offline timokie

  • ****
  • 610
  • Sprzęt: Loox C550
WM2003,MFC i zamrażanie działania programu - możliwe ???????
« Odpowiedź #1 dnia: Marzec 28, 2006, 15:47:14 »
Mysle, ze powinienes zajrzec rowniez na fora, ktore sa skierowane glownie do programistow (a nie jak to, do uzytkownikow). Bardzo dobrym (ale angielskim) jest forum Pocket PC Developer Network. Odnosnie Twojego pytania - wydaje mi sie, ze jesli wylaczysz palmtopa, to wlasnie zamrozisz dzialanie programu. Chyba, ze chodzi o cos wiecej, tzn. Twoj program ma tuz przed wylaczeniem i zaraz po wlaczeniu, cos zrobic (ma byc przez system poinformowany o tych zdarzeniach). Tu sa linki do artykulow (z ww. strony :) ):
http://www.pocketpcdn.com/sections/power.html

WM2003,MFC i zamrażanie działania programu - możliwe ???????
« Odpowiedź #2 dnia: Marzec 28, 2006, 16:21:28 »
Dzięki za odpowiedź. Widzę że w większości tylko Ty timokie odpowiadasz na moje pytania.

Głównie chodzi mo o to, że mam wykonywac pomiary danym instrumentem. Instrument podaje mi pewne dane (odczyty) które myszę wprowadzić do palmtopa (do programu). Te dane, jeśli je wprowadzę będa zapisane do pliku z których po pewnych obliczeniach uzyska się poszukiwany wynik ale z całej sesji pomiarowej. Powiedzmy, że bedę miał do pomierzenia pewne wartości na 15 punktach i wiadomo będe musiał się z instrumentem przenosić na kolejne. Na pierwszym zakładam powiedzmy sobie nowy projekt i ustawię pewne dane wejściowe - ustawienia programu. Wykonuje pomiar na pierwszym punkcie i jeśli mnie zadowalają wyniki wprowadzam je ręcznie do programu i  powiedzmy wcisnę przycisk DALEJ (taki sobie utworzę).

I teraz pytanie:
Czy mogę przypisać do przycisku zdarzenie zapisujące dane do pliku a później wyłączające palmtopa i gdy włączę palmtopa na następnym punkcie to żeby było okienko gdzie będę mógł wprowadzic dane związane z odczytami na nastepnym punkcie ??

LUB

Czy po prostu jeśli wcisnę przycisk DALEJ - wyskoczy mi okienko gdzie będzie można podać dane dotyczące pomiarów na drugim punkcie i jeśli teraz Palmtopa wyłączę po prostu przyciskiem POWER nie wyłączając mojego programu, przejadę na następny punkt i włączę palmtopa to program bedzie w tym miejscu gdzie go wyłączyłem ???

Pytam się bo tak właśnie zrozumiałem z Twojej timokie wypowiedzi.

Pozdrawiam.

*

Offline timokie

  • ****
  • 610
  • Sprzęt: Loox C550
WM2003,MFC i zamrażanie działania programu - możliwe ???????
« Odpowiedź #3 dnia: Marzec 28, 2006, 18:13:27 »
Tak wlasnie bedzie (rozumiem, ze to LUB, to jest OR, a nie XOR ;) ). Po nacisnieciu przycisku Power, programy uzytkownika sa zamrazane i wznawiane po wlaczeniu w tym samym punkcie, w ktorym byly. Ale ja nie jestem programista Windows CE - kiedys programowalem troche pod "duzym" Windowsem (w weekend zainstalowalem eVC - moze cos z tego bedzie :) ).

WM2003,MFC i zamrażanie działania programu - możliwe ???????
« Odpowiedź #4 dnia: Marzec 28, 2006, 18:22:58 »
Dzięki timokie.

Jak tak jest naprawdę to nie ma co się zastanawiac nad podłączaniem do przycisku wyłączania palmtopa tylko po prostu wyłączyć kiedy się chce i włączyć kiedy chce a program powinien nadal działać.

Pozdrawiam.

*

Offline RMK

  • **
  • 157
    • http://przemelek.blogspot.com
  • Sprzęt: ASUS A636N
WM2003,MFC i zamrażanie działania programu - możliwe ???????
« Odpowiedź #5 dnia: Marzec 28, 2006, 18:23:10 »
Teoria jest taka, że po przyciśnięciu ON/OFF czy jak to się zowie, program pozostaje w pamięci, ale jego wykonywanie zostaje zwieszone. Później ponowne wciśnięcie ON/OFF powoduje, że program działa od tego samego momentu co poprzednio. Nie wiem czy jest to realizowane przez zapisanie stanu procesora i jego ponowne podniesienie po włączeniu czy jakoś inaczej, ale zwykle działa to tak jakby było robione właśnie w taki sposób.
Tyle teorii ;-) Praktyka pokazuje, że jeżeli program jest uruchamiany z karty SD, tudzież w jakiś sposób korzysta z kodu z karty SD, który to kod może się nie znajdować w RAMie to mogą się porobić problemy i program idzie w krzaki. U mnie takie problemy występują głównie z aplikacjami korzystającymi z .NET albo JVM.[/b]