Poczytalem chwile podrecznik do SDK4.0. Parametr cardNo przyjmuje tylko wartosc 0 lub 1, przy czym w kilku miejscach pojawia sie zastrzezenie, ze poki co tylko wartosc zero jest sluszna.
Wydaje mi sie, ze zalozylismy blad myslowy, ze manipulujac parametrem cardNo bedziemy sie dostawali do kart w slotach pamieci. Niestety wyglada na to, ze nie bedzie tak latwo. Karta to nie pamiec operacyjna, ale pamiec masowa. Tablica nazw plikow, te sprawy.
Zajrzyj do dokumentacji SDK4.0: Palm OS Reference.PDF, rozdzial Virtual File System Manager. Znajdziesz tam takie funkcje jak VFSImportDatabaseFromFile, VFSExportDataBaseToFile, VFSFileDBGetRecord, etc.
VFSFileDBGetRecord:
-----------------------
This function is analogous to DmGetRecord but works with files on
an external card rather than databases in main memory. This
function allocates a handle of the appropriate size from the storage
Virtual File System Manager
VFS Manager Functions
heap and returns it in the recHP parameter. The caller is responsible
for freeing this memory, using MemHandleFree, when it is no
longer needed.
-------------
Czyli, ze karty pamieci i pamiec wewnetrzna trzeba traktowac zupelnie inaczej. Stad sie biora wszystkie problemy z uruchamianiem programow bezposrednio z kart, o czym czytamy przy kazdej okazji.
Aha.. Jeszcze jest rozdzial o Expansion Manager, ktory dotyczy wylacznie obslugi slotow pamieci, sprawdzaniu jaka karta w srodku i czy w ogole..
Aha.. a przede wszystkim PalmOS 3.5 nie jest stworzony do obslugi slotow kart pamieci. Takze musisz przesiasc sie na SDK4.0, a jesli chcesz tworzyc oprogramowanie uniwersalne, to koniecznie w swoim programie sprawdzaj wersje systemu, pod ktora jest uruchamiany program, zeby zapobiec uzywaniu funkcji, ktorych w danym systemie moze po prostu nie byc.
Pozdrawiam!