Domanda

Sto utilizzando Microsoft Sync Framework per sincronizzare un database SQL Server con un file SDF di SQL Compact sull'emulatore di Windows Mobile 5. Abbiamo una scheda SD da 2 gig nel dispositivo reale su cui stiamo distribuendo, quindi vorremmo archiviare il nostro file di database lì. Tuttavia, quando eseguo il mapping di una cartella condivisa come scheda di memoria nell'emulatore di Windows Mobile 5, il motore SQL Compact non è in grado di creare o modificare un file di database sulla scheda di memoria mappata a causa di un errore. Quindi, per ovviare a questo durante lo sviluppo sull'emulatore, stavo solo per archiviare il database nella memoria interna del dispositivo, tuttavia, è limitato a 32 MB e non riesco a trovare un modo per aumentarlo. Qualcuno sa come aumentare lo spazio di archiviazione sull'emulatore. Sto parlando di spazio di archiviazione non RAM :).

Altrimenti, qualcuno sa come superare il bug di non poter avere un file di database SQL Compact sulla scheda di memoria nell'emulatore?

Grazie!

È stato utile?

Soluzione

In http://forum.xda-developers.com/showthread. php? t = 549675 troverai un driver per l'emulatore che configura un disco RAM, che per l'emulatore è visto come una scheda di memoria esterna ma non ha problemi con il mapping di una cartella. Ho controllato con il file sdf di SQL Compact memorizzato nel RAMDisk e funziona come un incantesimo. L'ho usato come un'unità da 64 MB, ma presumibilmente può gestire fino a 256 MB.

Altri suggerimenti

in realtà puoi farlo.

Prima di tutto aprire Device Emulator ed eseguire l'emulatore di vostra scelta. Nel mio caso apro Windows Mobile 5.0

Quindi, mentre viene eseguito, dall'emulatore del dispositivo, fai clic con il pulsante destro del mouse sull'emulatore che hai appena eseguito e seleziona Salva come, salvalo da qualche parte e quindi apri questo file con un editor di testo.

Lì troverai un'opzione che dice memsize, impostala come segue:

<MemSize Reconfigurable="true">256</MemSize>

Sfortunatamente il massimo è 256 come dice se si tenta di impostarlo su un valore superiore.

Ora, da Device Emulator, seleziona la voce dell'emulatore che hai appena salvato in precedenza (non l'originale, ma l'abitudine che si trova in I miei emulatori di dispositivo in Device Emulator) e verrà eseguita con il file cfg che hai appena modificato.

Spero che questo aiuti.

Se hai un dispositivo reale, consiglierei il test sul dispositivo collegandolo tramite la sincronizzazione attiva. Non so come modificare la memoria dell'emulatore ma so che HP ha emulatori che è possibile scaricare per i test e scommetterei che uno di questi corrisponderebbe a ciò che si sta tentando di indirizzare.

In Microsoft Device Emulator V3 (tieni presente che questo installa e sovrascrive la cartella precedente "Microsoft Device Emulator \ 1.0"), usando Windows Mobile 5, l'aiuto che ottieni quando digiti " deviceemulator " senza parametri è incollato di seguito. La prima cosa che afferma è quel messaggio su memsize. L'ho provato con i valori > 256 MB e genera solo la finestra di dialogo della guida. Stavo scherzando con questo quando provavo a farlo riconoscere la mia / cartella condivisa come una scheda di memoria. Forse questo sarà possibile negli emulatori di dispositivi più recenti. Se riesco a farlo funzionare, posso provare a posizionare un file SDF sulla scheda.

Device Emulator

Memory size must be a value between 64 and 256.

Command Line Option Help

binfile - Filename of the binfile to be loaded by the emulator.
@responsefile - Filename to XML response file.
/a - Keeps emulator window always on top.
/battery - Emulates running from a battery instead of AC
/batterycharge percentage - Emulated battery charge percentage
/c - Creates and displays a console window to show output from Serial Port 1.
/cpucore - ARMv4 or ARMv5. Default is ARMv4.
/cpuoptions - A combination of (T)humb,D(ebug),I(nternetworking),M (Long Multiply),E (DSP). Of these, T,D,I will always be set.
/defaultsave - Use the VMID as the saved state name and place the saved state file in the per user directory.
/flash filename - Enables flash-memory emulation and specifies flash-memory storage filename.
/h - Sets host-only routing for network packets.
/hostkey keyname - Specifies host key, where keyname can be 'None', 'Left-Alt', or 'Right-Alt'.
/language LangID - Specifies the UI language, where LangID is a decimal.
/memsize size - Sets emulated RAM size, where size is in megabytes.
/nosecurityprompt - Do not prompt when enabling potentially unsafe peripherals when restoring from saved state.
/n [macaddress] - Enables CS8900 network adapter where optional macaddress specifies which host adapter the card will bind to.
/p [macaddress] - Enables NE2000 PCMCIA network adapter, where optional macaddress specifies which host adapter the card will bind to.
/r address - Specifies ROM file base address(in hexadecimal).
/rotate angle - Rotates the display by degrees, where angle can be 0, 90, 180, or 270.
/s filename - Specifies the save-state filename.
/sharedfolder directoryname - Mounts directoryname as a storage card.
/skin filename - Loads the specified skin file.
/tooltips state - Enables or disables tooltips, where state is 'ON' or 'OFF'.
/u0 serialport /u1 serialport /u2 serialport - Maps guest serial ports 0-2 to Windows serial ports.
/vfp - Vector Floating Point coprocessor: true or false. Default is false.
/video xx - Specifies screen size and bit-depth.
/vmid {GUID} - Specifies the VMID GUID.
/vmname name - Specifies the window title.
/z - Zooms the display to 2x normal size.
/speakerphone - {[SpeakerPhone][Headset][Carkit]} - Bitmapped number between 0-7 specifying Speakerphone, Headset, Carkit mode.

OK   
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top