DotNet

FireMonkey Mistery & Rad Studio XE2

Wednesday 3 August 2011, 16:28
ivan.revelli@synaptica.info

Ieri consultando il mitico blog di Embarcadero ho scoperto che a breve uscirà la nuova versione di Rad Studio che come al solito conterrà la nuova versione dei prodotti Delphi, C++ Builder , Delphi Prism e RadPhp.
Le novità questa volta sono tantissime, come si evince dal post di DavidI http://blogs.embarcadero.com/davidi/2011/08/01/41062/ , ovviamente c’era da aspettarselo visto che da tempo è disponibile il nuovo compilatore a 64bit per Delphi e C++ Builder allora non ancora preso dall’entusiasmo mi guardo le nuove caratteristiche dell’ambiente pubblicate su tale post :

 

On the RAD Studio XE2 World Tour you will learn how to:

* Create GPU-powered FireMonkey applications that will keep your customers engaged
* Build 64-bit Delphi applications to take advantage of the latest hardware
* Create a single application and target both Windows and OS X
* Extend your multi-tier DataSnap applications with new mobile and cloud connectivity in RAD Cloud
* Connect any visual element to any type of data using LiveBindings™
* Modernize the look and feel of your Windows applications with VCL styles
* Create mobile-optimized web applications and standalone apps for iOS and Android devices using RadPHP

With Delphi and C++Builder in RAD Studio, you can write an app once and compile it for Windows and Mac. C++Builder apps can be compiled for Windows and Mac. Need apps for the web? RadPHP has you covered with a full visual web and PHP development solution. And it’s all done with the power and speed of component-based visual development that saves you time while still giving you full access to source code and hardware when you need it.

 

 

Incredile, in tutto silenzio sembre che con Delphi XE2 e C++ Builder XE2 sia arriavata anche la novità della piattaforma Mac, la cosa incredibile che Embarcadero ha registrato a tal proposito un nuovo marchio “FireMonkey” che dovrebbe essere un layer grafico cross-platform che consente alle applicazioni VCL di essere portate su più piattaforme anche trattandosi di codice nativo.
Un piccolo documento che ho trovato in merito a firemonkey http://www.andreanolanusse.com/en/a-little-bit-about-firemonkey-and-delphi-xe2/ , questo progetto sembra contenere tantissima tecnologia , ma non ho trovato nulla di ufficiale o dei demo in proposito, dalle vodi di corridoio sembra che permetta di :

  1. Gestire gli stili nelle VCL applications
  2. Permettere un facile porting verso la piattaforma Mac (avrà qualcosa in comune con le QT ??!! boh)
  3. Implementare la gestione della GPU cosa che credo sia gestita tramite la nuova tecnologia OpenCL

la curiosità è moltissima , il giorno 21 Settembre è prevista a milano una presentazione di Xe2 a cui ci si può iscrivere gratuitamente e ci sarò.

Aggiornamento del 40/08/2011 : ho trovato un articolo in merito a FireMonkey e XE2 all’indirizzo http://www.deltics.co.nz/blog/?p=735

a presto
ivan

Embarcadero Rad Studio XE

Tuesday 10 August 2010, 15:36
ivan.revelli@synaptica.info

delphi

Some good news from Embarcadero, some products like Delphi4Php (now radPhp) and Delphi Prism and the new XE IDE for Delphi (now Delphi XE) and C++ Builder.

An exception to the name, more news on RadStudio seems to be:

1) integration with Subversion SVN
2) The ability to generate sequence diagrams directly from the IDE to increase the degree of readability of the Pascal code

On Delphi4Php the name has changed completely in RadPhp, watching the demo can be seen substantial improvements on IDE. In this upgrade Embarcadero is focused on improve quality and performance to the existing products.

About Delphi Prism there is an integration with SVN too like the same in Rad Studio (Delphi and C++Builder).

The work done seems really good but : what about cross-platform mentioned in the roadmap ? What about the mac osx compiler?

Click here to view the sneak video about rad studio XE

rgds
ivan

Consumare i Webservices di Delphi Prism (Oxygene) con Delphi7 Win32

Tuesday 9 February 2010, 14:57
walter.paludet@synaptica.info

In questo articolo illustrerò brevemente gli strumenti utilizzati, un pò di storia
e la soluzione al problema nato utilizzando Delphi7 in combinazione con Prism.

Il client del webservice è sviluppato in Delphi:

Delphi è un ambiente di sviluppo software per applicazioni Microsoft Windows (Win32),
sviluppato originariamente da Borland e ora di proprietà  della Embarcadero Technologies.
Delphi 7, pubblicato nell’oramai lontano 2002, divenne la versione standard
perchè utilizzato dal maggior numero di sviluppatori rispetto a qualsiasi altra versione.

E’ noto a causa della sua ottima stabilità , velocità  e bassi requisiti hardware
e rimane largamente utilizzato ancora oggi (da me, per esempio).
Il linguaggio di programmazione Delphi è semplicemente un dialetto di Object Pascal.

Mentre il Webservice è stato creato con Prism:

Delphi Prism è un RAD per Microsoft .NET Framework e Mono, integrato all’interno di Microsoft Visual Studio e MonoDevelop;
sviluppato da RemObjects Software e distribuito dalla Embarcadero Technologies, si basa sul linguaggio Oxygene ed il relativo compilatore.

Oxygene è un linguaggio di programmazione per il Common Language Infrastructure;
Object Pascal-based e fortemente ispirato da C#, è progettato per sfruttare tutte le funzionalità  e le tecnologie fornite dal .NET runtime.

Anche se si seguono alla lettera gli esempi per la creazione del servizio Web in Prism
e per la creazione del client in Delphi Win32, indipendentemente da quel che si prova,
per tutte le chiamate sia i parametri che il result del metodo saranno sempre valorizzati a 0, stringa vuota, oppure nil.

Ciò è dovuto al fatto che il servizio Web è implementato su .NET 2.0, che ha cambiato il modo in cui il WSDL è pubblicato rispetto a .NET 1.1 ;
il perchè di questo cambiamento si può comprendere solo con un po’ di storia:

E’ risaputo che le specifiche dello standard dei Web Services (WSDL) lasciano un alto grado di libertà ; ciò ha portato le varie case produttrici di software ad interpretarle diversamente creando in alcuni casi prodotti non interoperabili.

WS-I (Web Services Integration Organization): è un’organizzazione formata da diversi produttori del calibro di HP, IBM, Microsoft, Oracle, Sun Microsystem etc.. che si sono uniti per assicurare l’interoperabilità  dei servizi Web tra tutte le piattaforme.

Per fare ciò, hanno creato una raccomandazione denominata Basic Profile 1.0, che definisce un insieme di regole per l’utilizzo di XML, SOAP, e WSDL al fine di creare servizi Web interoperabili; restringendo le sovrabbondanti capacità  espressive di SOAP e individuando un set minimo di caratteristiche comunemente supportate.

Di base i Web Service .Net usano il binding document/literal, mentre con .NET 1.x questo stile viene specificato utilizzando l’elemento <binding/> e viene riconosciuto correttamente dal WSDL Importer, con .NET 2.0 che è WS-I Basic Profile compliant lo stile è definito solo all’interno dei nodi operation/input e operation/output;

La raccomandazione del WS-I è però stata pubblicata solo nel 2004, ben due anni dopo il rilascio di Delphi 7,
per questo il WSDL Importer non è in grado di riconoscere questa seconda modalità ;
di conseguenza la unit viene generata utilizzando il binding di tipo RPC (il default per Delphi) al posto del binding document/literal.

Ecco spiegato il perchè della variazione nello stile di pubblicazione del webservice,
ed anche perchè Delphi 7 non genera correttamente la unit.

L’unica soluzione disponibile attualmente è quella di specificare manualmente il tipo di binding SOAP come segue:

Dove “MySoapInterface” è il nome del tipo di interfaccia SOAP generata.

Questa riga di codice deve essere aggiunta in coda alla unit generata dall’WSDL Importer,
questo farà  in modo che i parametri ed il result siano valorizzati correttamente.

NB: inseritela nella sezione “initialization” come nell’esempio:

CodeGear/Embarcadero sembra essere a conoscenza della situazione; si dice stia lavorando ad un fix,
anche se per il momento non se ne hanno notizie…

Fonte del fix
Approfondimento sugli stili dei Binding
Definizioni di WS-I e WS-I Basic Profile da Wikipedia.

Hot Article on Async Methods on Asp.Net page with C#

Thursday 21 May 2009, 17:34
ivan.revelli@synaptica.info

Today i found a great article on Async page technology of DotNet, posted on the davidjberman blog..

you can find the resource at:

http://davidjberman.com/blogs/csharp/archive/2007/08/13/how-to-create-asynchronous-asp-net-pages-using-c.aspx

DotNet tips , change onmouseover cursors … with some strange problems with browsers

Tuesday 12 May 2009, 16:55
ivan.revelli@synaptica.info

as all of us that work with DotNet to producing Web Application and fight with company styles, some times we need to change some attributes of style in a page….

now i need to change the cursor pointer from ‘default’ to ‘hand’ on a asp button, as we now with di MS DotNet framework 2.0 we can do this :

using “onmouseover” attibutes , the can be used from code behind too usig attribues.add etc.. with explorer 8.0 it was al good when i select the buttun the cursor change all well , but with firefox the cursor remain the ‘Default’… ach…

i found on internet that you need to use “pointer” end not ‘hand‘ like this

stay tuned to next tip
bye ivan

Scoprite cosa possiamo fare per il vostro business
I nostri linguaggi