Roberto Brunetti

Developing in the cloud

.NET Programming

ottobre 2004 - Posts

Chi è il tipico acquirente di prodotti Mobile

Sbp software, famosa azienda che produce software per device, ha pubblicato i risultati di un survey mondiale.

http://www.spbsoftwarehouse.com/about/pressreleases/docs/spbsurvey2004.html?en

Posted: ott 26 2004, 09.53 by rob
Filed under: ,
MapPoint Developer Center OnLine
http://msdn.microsoft.com/mappoint/
Posted: ott 26 2004, 09.48 by rob
Filed under: ,
NCD: Network Connected Device

Un NCD è un device connesso a un pc via rete (wireless o wired che sia). Ad esempio una stampante, una telecamera, una macchina fotografica o un Internet Gateway Device si possono connettere al PC senza l'utilizzo di cavi USB, PCI, 1394 e altri mezzi comuni di collegamento. La tecnologia Microsoft® Windows® Network Connected Device Technology consta di 3 componenti:

  • PnP-x
  • Function Discovery: API per cercare e utilizzare tali device e condividere risorse da un device all'altro
  • WSDAPI: Web Service for Devices API utilizzabile dalle applicazioni e dai device per gestire il device e ricevere eventi. Il tool wsdcodegen.exe consente, a partire dal WSDL del device, di creare la classe proxy utilizzabile per controllare il device.

Altre informazioni e accesso al programma beta: http://www.microsoft.com/whdc/device/netAttach/NCD.mspx

Posted: ott 26 2004, 09.43 by rob
Filed under: ,
Finalmente anche i POS potranno crashare :-)

Microsoft rilascerà una versione di Windows XP Embedded con Service Pack 2 ottimizzato per la gestione di POS. Il nome reale del prodotto dovrebbe essere Windows Embedded for Point of Service (codename Chinook) e supportare Plug-n-Play per scanner, bar code e stampantine.

http://msdn.microsoft.com/embedded/getstart/devplat/pos/default.aspx

Posted: ott 26 2004, 09.32 by rob
Filed under: ,
Personal Internet Comunicator

Riporto as is :

Oct. 28th AMD will release a new machine, a low cost Win CE PC called the Personal Internet Communicator.

The PIC will run on a AMD Geode GX500 366MHz processor with 128mb of DDR SDRAM, a 10G HD, Audio and a 56k modem.

http://www.amdboard.com/pic.html

Posted: ott 26 2004, 12.53 by rob
Filed under:
Curriculum

Ho aggiornato il mio cv http://www.devleap.com/SchedaAutore.aspx?IdAutore=ROB

 

Posted: ott 26 2004, 12.44 by rob
Filed under:
Windows Mobile 2005 Screenshot

"Magneto", nome in codice della prossima versione di Windows Mobile per SmartPhone e Pocket PC...per adesso ho trovato solo due screenshot.

http://www.pocketcenter.de/modules.php?name=News&file=article&sid=585

e un paio di informazioni su qualche nuova caratteristica http://www.msmobiles.com/news.php/3207.html

Il tutto si baserà su Windows CE 5.0 la cui preview è scaricabile dal sito mobile di Microsoft. Si veda il mio post di Agosto http://blogs.devleap.com/rob/archive/2004/08/04/1499.aspx

 

Posted: ott 25 2004, 06.52 by rob
Filed under:
Internet.Pro

Ho iniziato una collaborazione con la nuova rivista di Tecniche Nuove. Ecco l'url http://www.internet-pro.it/

Il sito è fatto stile blog con informazioni continue e articoli tecnici.

 

Posted: ott 24 2004, 02.48 by rob
Filed under:
MAME per Windows CE : istruzione per l'installazione

Approfittando di una tosse/raffreddore/mal di gola...mi sono imposto di installare MAME CE sul mio Pocket PC Phone Edition QTek 2020. Avevo provato tante volte, ma non ci ero mai riuscito perchè blog/newsgroup etc etc danno informazioni false e tendenziose e spesso i link non portano da nessuna parte. C'è chi dice che su Pocket 2003 non gira, chi dice che ci vogliono le rom diverse, chi dice che gira su 2003 ma solo se si ha un processore ARM o MIPS. Alla fine ho scoperto che è semplicissimo e che non è vero quasi niente. Funziona alla grande (l'unico problema sono a volte i tasti spara, gira, salta che sul PC vengono assegnati alla tastiera...sul Pocket ??!??!?). Il tasto di avvio di un gioco nel Qtek 2020  è il pulsante laterale della telecamera.

Comunque c'è un file readme nella directory che spiega l'assegnazione dei tasti sugli iPaq e compagni.

Andare su http://www.mameworld.net/mamece3/

Si può scaricare l'autoinstallante, ma non ci sono riuscito visto che il link porta a un sito inesistente...

Allora ho preso il cab corrispondente al mio processore: io ho un Intel PXA 250, che quindi gira come ARM: ho preso il CAB per ARM. Si scarica lo zip , lo si decompatta ottendendo il .cab. Si copia il .cab sul device e da File Explorer del dispositivo ci si clicca sopra :-) Lui si scompatta su \Program Files\MAME. Lui cerca anche di installare la gx.dll su \Windows cosa che ho evitato accuratamente visto che la sua era datata "anno 2000". Visto che non volevo occupare memoria "normale" ho spostato per intero la directory MAME sulla scheda SD. Poi ho copiato le ROM che avevo sul portatile per MAME versione PC, direttamente in formato zip nella sottodirectory "roms" creata sempre dall'installazione del CAB.

Se non riuscite a lanciare il CAB, molto probabilmente avete sbagliato processore.

Buon divertimento.

Posted: ott 21 2004, 08.23 by rob | with 4 comment(s)
Filed under:
Chiamata Telefonica da codice .NET in Pocket PC e SmartPhone

Riporto il codice che si commenta da solo. Per fare una prova veloce è sufficiente creare un progetto Smart Device Application in VS.NET 2003 e copiare il codice nel codice del form.

Nel form ho utilizzato txtNumero per accogliere il numero da comporre, chkConferma per chiedere o meno la conferma all'utente e il pulsante cmdChiama.

Da notare che il metodo di gestione del Click di cmdChiama deve essere marcato unsafe. Buon divertimento.

// Definisco Struct da passare a MakeCall API

private struct InfoChiamata

{

   public IntPtr cbSize; // dimensione della struct

   public IntPtr dwFlags; // bit per Conferma

   public IntPtr pszDestAdress; // Numero da comporre

   public IntPtr pszAppName; // Non supportato

   public IntPtr pszCalledParty; // optional

   public IntPtr pszComment; // Non supportato

}

// Importo la dll da chiamare

[DllImport("phone.dll")]

private static extern IntPtr PhoneMakeCall(ref InfoChiamata info);

// Imposto "costanti" per Prompt/Chiamata Diretta

private static long PMCF_DEFAULT = 0x00000001;

private static long PMCF_PROMPT = 0x00000002;

// Marco il metodo come unsafe (fa uso di puntatori)

// Compilare il progetto con /unsafe (da VS.NET Property Allow Unsafe...)

unsafe private void cmdChiama_Click(object sender, System.EventArgs e)

{

   // Puntatore per il risultato

   IntPtr risultato;

   // Devo convertire la stringa del numero in array di char

   string numero = txtNumero.Text + "\0";

   char[] cNumero = numero.ToCharArray();

   fixed (char* pNumero = cNumero)

      {

      InfoChiamata info = new InfoChiamata();

      info.cbSize = (IntPtr)Marshal.SizeOf(info);

      info.pszDestAdress = (IntPtr)pNumero;

      if(chkConferma.Checked)

         // Chiedo Conferma

         info.dwFlags = (IntPtr)PMCF_PROMPT;

      else

         // Chiamata Diretta

         info.dwFlags = (IntPtr)PMCF_DEFAULT;

      // Chimaata a MakeCall

      risultato = PhoneMakeCall(ref info);

      }

   }

}

Posted: ott 21 2004, 07.45 by rob
Filed under:
Identity diverse in Application_Start e Page

Prendo spunto da una domanda ricevuta qualche giorno fa per indicare che l'account usato da ASP.NET durante la partenza di un'applicazione è diverso dall'account che esegue la pipeline della richiesta.

L'evento Application_Start (a parte il fatto che non è un evento esposto dalla classe base di ogni applicazione HttpApplication e che viene recuperato via Reflection) si verifica alla partenza dell'applicazione e quindi non subisce i normali processi di "gestione" dell'utente di ASP.NET.

Indipendetemente dal fatto che l'impersonation sia abilitata o disabilitata, l'account utilizzato per far partire l'applicazione (Application_Start) è sempre l'account impostato sul processo di ASP.NET. Per default in Windows 2000 tale account è ASPNET (configurabile da machine.config), mentre in IIS6 è l'utente impostato sull'application pool in cui viene fatta girare l'applicazione (per default NETWORK SERVICE).

Tutti gli eventi della pipeline di esecuzione (da BeginRequest a EndRequest) vengono invece eseguiti dal thread incaricato di eseguire la richiesta e quindi vengono eseguiti dall'account che deve far girare la richiesta stessa. Se l'impersonation è false gli account corrispondono a quelli precedentemente citati, in quanto non si richiede nessuna impersonation. Se invece l'impersonation è abilitata l'account rappresenta l'account autenticato da IIS che può essere l'account anonimo (IUSR per default, modificabile in IIS) oppure l'account Windows.

Anche con la Forms Authentication si applicano gli stessi concetti, anche se ovviamente sarà consentito l'accesso anonimo in IIS e quindi in base alle impostazioni dell'impersonation l'account potrà essere IUSR (con impersonation abilitata) oppure ASPNET in IIS5 o NETWORK SERVICE (SERVIZIO DI RETE se usate 2003 in italiano) sempre che abbiate lasciato i default per gli account nel machine.config o in IIS6.

Windows Mobile Developer Power Toys

Di solito i Power Toys sono utility e/o giochi e/o sfondi per PC o per Pocket PC.

I Developer Power Toys sono invece utility per chi sviluppa in ambiente mobile.

Ecco la descrizione del contenuto presa dal link che vi riporto in fondo.

The Power Toys include:

  • Emulator ActiveSync Connection Tool - Allows Activesync to connect to your Emulator session from Visual Studio .NET 2003.
  • ActiveSync Remote Display - Display Pocket PC applications on your desktop or laptop without needing any device side configuration.
  • CECopy - Command line tool for copying files to the device currently connected to desktop ActiveSync.
  • Convert PPC DAT to SP XML - Command line tool for generating Smartphone CABWizSP XML docs from existing Pocket PC CAB files.
  • Hopper - User input stress simulator.
  • JShell - UI version of the Platform Builder Target Control Window.
  • PPC Command Shell - Command shell for the Pocket PC 2003 device.
  • RAPI Debug - Displays detailed information about currently running processes.
  • RAPI Start - Command line tool to remotely start an application on your Pocket PC from your desktop.
  • TypeIt - Send characters/strings to the Smartphone 2003 Emulator via ActiveSync.

http://www.microsoft.com/downloads/details.aspx?familyid=74473fd6-1dcc-47aa-ab28-6a2b006edfe9&displaylang=en

 

Posted: ott 20 2004, 10.04 by rob
Filed under:
eMbedded C++ 4.0 Service Pack 4
Disponibile per il download http://www.microsoft.com/downloads/details.aspx?FamilyID=B8C1D059-6886-4C64-BF45-A71DA3EEC61A&displaylang=en
Posted: ott 20 2004, 09.35 by rob
Filed under:
SQL 2005 Mobile: No Stored Procedure

Sembra ufficiale, non ci sarà il supporto alle Stored Procedure in SQL 2005 Mobile.

Posted: ott 20 2004, 09.21 by rob
Filed under:
MSBuild: compilatore esterno a VS 2005

Infatti Longhorn, attualmente in Alpha, contiene nativamente il .Net Framework (release 2.0) e una versione di MsBuild indipendente da Visual Studio.
L’idea è quella di avere un motore di costruzione di applicazioni, dalla più semplice alla più complessa, indipendente dall’ambiente di sviluppo usato, sia esso NotePad, un prodotto di terze parti o lo stesso Visual Studio.
Oggi, infatti, non è possibile personalizzare in Visual Studio il processo di costruzione di un’applicazione, se non con i comandi pre e post build. E spesso, su progetti complessi, bisogna costruire a mano script di compilazione lavorando direttamente con i compilatori e con i comandi console: operazioni difficili da costruire, testare e debuggare. Inoltre, il problema più sentito è la totale indipendenza (e quindi non integrazione) con Visual Studio.
Esistono alcuni strumenti per facilitare questo compito, come MakeFile e Nant che, comunque, non sono integrabili con gli strumenti di sviluppo. In pratica: o si lavora con i semplici strumenti di Visual Studio oppure si fa tutto a mano cercando di far convivere i due mondi.
MsBuild nasce, invece, proprio con l’obiettivo di fornire allo sviluppatore la possibilità di creare progetti per la costruzione di applicazioni.
Il nome in codice di MsBuild è «XMake», quindi per trovare documentazione a riguardo bisogna cercare questo nome. La parte visibile, quella di solito presentata alle conferenze, è MsBuild.exe.
In realtà questo eseguibile non è nient’altro che un wrapper verso il motore di build ospitato nella dll MsBuildEngine.dll.

Continua su week.it http://www.weekit.it/weekit/unico/art006004039876.jsp

Posted: ott 08 2004, 05.36 by rob
Filed under:
More Posts Next page »