Archive for September, 2008

Tiburon -> Delphi 2009

Da qualche giorno è ormai disponibile la nuova versione di Delphi e C++ con enormi novità tecnologiche rispetto alle precedenti. Questa nuova versione codename “Tiburon” migliora drasticamente le performance dell’IDE e del compilatore/parser,tra le novità più ecclatanti vi sono :

  • Supporto ai generics (Tlist)
  • Completo supporto a Unicode
  • DataSnap completamente nuovo basato sullo std JSON per la comunicazione.
  • Attualmente alla lista delle cose che mi attendevo ne manca una non di poca importanza cioè Delphi2009 for DotNet , che sul sito di Embacadero non trovo nemmeno nella RoadMap… Ogni volta che vedo delle cose del genere mi torna in mente lo spettro di Kylix e delle aziende che vi ci avevano investito sopra!!.
    Cosa molto carina invece è la possibilità di provare (cacchio solo per 14gg) le versioni trial del prodotto Enterprise scaricandole direttamente da Embarcadero all’indirizzo :

    http://cc.codegear.com/free/delphi oppure http://cc.codegear.com/free/cppbuilder
    la procedura di intallazione e richiesta dei codici questa volta è veramente smart e come dicono dalle mie parti veramente “sbattimento zero!”.

    Domani a Milano vi sarà la presentazione di questi nuovi bei prodotti e ovviamente Synaptica andrà a far visita e porterà con sè qualche news …

    Eclipse + zk


    Needed application running

    • java virtual machine (if you are running ubuntu i suggest the ubuntu package “openjdk-6-jdk”)

    Needed files
    • eclipse-jee-ganymede-linux-gtk.tar.gz from http://www.eclipse.org/downloads/
    • zk-studio-0.5.1.zip from http://downloads.sourceforge.net/zk1/zk-studio-0.5.1.zip
    • zk-bin-3.0.7.tar.gz from http://www.zkoss.org/download/zk.dsp

    Operation
    • unpack eclipse somewhere.
    • put the jar file contained in the zk-studio-0.5.1.zip into the directory /plugins
    • restart eclipse if opened

    # Define a Server Runtime

    * From menu Window/Preferences…

    * In Server > Runtime Envinronments, Click “Add”
    * Select Apache > Apache Tomcat v5.5 and click Next
    * Browse to and select your Tomcat root directory e.g. C:\Program Files\Apache Software Foundation\Tomcat 5.5
    * Select JDK 1.5
    * Finish & OK

    # Define a Server Instance

    * From menu, Windows/Show Views/Others…,
    * Select Servers/Servers
    * In the “Servers” view, right click mouse(context menu) to add a new server

    follow this point from this guide http://www.zkoss.org/smalltalks/zkstudioI/index.dsp
    ZK Package Managements in Eclipse Preferenece Dialog

    1. In your Eclipse IDE, click toolbar “Window” and select “Preferences…”.
    2. at preference tree, select “ZK” category then chose “Installed ZKs”.
    3. Currently there are no installed ZKs, so we need to prepare one. Preparing a ZK package is very simple:
    1. download ZK’s binary distribution from SourceForge.net (use zk-bin-3.0.7.tar.gz if you have downloaded the needed files)
    2. Unpack it as a folder, put it in a proper place like: “C:\ZK\”
    3. Thats all you need to do.
    4. Back to Eclipse IDE’s preference dialog. In “Installed ZKs” click “Add…” button and chose the package you prepared.
    5. Press “apply”, “ok” to quit preference dialog.

    Now you can install a ZK package you just added into a ‘Dynamic Web Project’ after all these settings.

    Add ZK while creating Dynamic Web Project

    The way to create a new ‘Dynamic Web Project’ is still the same:

    1. In Eclipse IDE, click on ‘File’, select ‘New’->’Project’ and chose ‘Web’->’Dynamic Web Project’ in new project dialog.
    2. Then, Eclipse will open a new project wizard, type the project name and press next.
    3. In “Project Facets” page, check “ZK WebApp” facet.
    4. In “Web Module” page, do your configuration and press “next” button.
    5. In “Select Project’s ZK Version” page, select the ZK version you want to use in this project.
    6. Click on “finish”, and Eclipse will generate a new project with ZK inside.

    zul file extension with XML editor

    * From menu, Window/Preferences…
    * General > Content Types > XML, add “*.zul” file extension

    # Your first ZK file, helloworld.zul

    1. <?xml version="1.0" encoding="utf-8"?>
    2. <?page title="ZK::Hello World!"?>
    3.  
    4. <window title="My First window" border="normal" width="200px">
    5.         Hello, World!
    6. </window>

    select Run > Run On Server > Tomcat 5.5

    Ubuntu 8.04 LTS + openjdk6 + apache-tomcat-6.0.18

    Prerequisites
    • Ubuntu 8.04 (you can try with other ubuntu/debian, with other OS you have to install JVM in a different way)
    Needed files:
    • apache-tomcat-6.0.18.zip from http://tomcat.apache.org/download-60.cgi

    1. sudo apt-get update
    2. sudo apt-get upgrade
    3. sudo apt-get install openjdk-6-jdk

    unpack apache-tomcat-6.0.18.zip where you want (i used /usr/local/tomcat, change the following commands accordingly if you have used a different directory)

    set JAVA_HOME environment variable:

    1. JAVA_HOME=/usr/lib/jvm/java-6-openjdk
    2. export JAVA_HOME

    start the server:

    1. /usr/local/tomcat/bin/startup.sh

    and try to navigate http://localhost:8080
    stop the server:

    1. /usr/local/tomcat/bin/shutdown.sh

    if you need the init.d script use this (this automatically sets JAVA_HOME)

    1. sudo nano /etc/init.d/tomcat

    copy and paste the following

    1.    # Tomcat auto-start
    2.     #
    3.     # description: Auto-starts tomcat
    4.     # processname: tomcat
    5.     # pidfile: /var/run/tomcat.pid
    6.  
    7.     export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
    8.  
    9.     case $1 in
    10.     start)
    11.             sh /usr/local/tomcat/bin/startup.sh
    12.             ;;
    13.     stop)  
    14.             sh /usr/local/tomcat/bin/shutdown.sh
    15.             ;;
    16.     restart)
    17.             sh /usr/local/tomcat/bin/shutdown.sh
    18.             sh /usr/local/tomcat/bin/startup.sh
    19.             ;;
    20.     esac  
    21.     exit 0

    make it executable

    1. sudo chmod +x /etc/init.d/tomcat

    then you can start/stop/restart tomcat in this way

    1. /etc/init.d/tomcat start
    2. /etc/init.d/tomcat stop
    3. /etc/init.d/tomcat restart

    and if you want to run at boot time run this command:

    1. update-rc.d tomcat defaults

    i suggest to add a default user changing the password for the tomcat admin page, to do this, edit the file:

    1. sudo nano /usr/local/tomcat/conf/tomcat-users.xml

    and add in the node the following:

    1. <role rolename=”manager”/>
    2. <user username=”manager” password=”password” roles=”manager”/>

    follow this guide to run zk on this tomcat freshly installation

    delphi drag & drop from shell (IDropTarget interface)

    Per permettere a un applicazione in windows di accatere drag end drop bisogna obbligatoriamente pasare per la tecnologia com e astrarre l’interfaccia IDROP_TARGET. Questa procedura seppur non complicata descritta molto bene nei suoi aspetti per le applicazioni delphi dall’articolo riportato : http://pasotech.altervista.org/delphi/articolo87.htm permette di fare cose notevoli. Sicuramente la procedura seppur non difficile comporta qualche conoscenza specifica ed inserisce non poco codice all’interno della nostra applicazione, per comodità esiste un componente semplicisimo dei JEDI il TjvDropTarget che ci permette di fare esattemente la stessa cosa con uno sforzo estremamente ridotto. Basta implementare il metodo DRAGDROP del componente ad esempio :

    1.  
    2. procedure TForm1.JvDropTarget1DragDrop(Sender: TJvDropTarget;var Effect: TJvDropEffect; Shift: TShiftState; X, Y: Integer);
    3. Var
    4. List : TStringList;
    5. i : integer;
    6. begin
    7. List := TStringList.Create;
    8. try
    9.   JvDropTarget1.GetFilenames(List);
    10.   for i := 0 to List.Count - 1 do
    11.     memoDin.Text := List.Text;
    12. // DoOpenFile(List[i]);
    13. finally
    14.   List.Free;
    15. end;
    16.  

    a presto ivan