c

nice C++ tutorial for beginners, from embarcadero

Thursday 13 December 2012, 16:27
ivan.revelli@synaptica.info

Those sections of C++ tutorials are very simple. Otherwise they explain the differences between Delphi (pascal) language and C++.

Good job:


Session 1:

Session 2:


Delphi openGL and 3ds files….

Thursday 23 July 2009, 16:11
ivan.revelli@synaptica.info

opengl.png

Ambiente di sviluppo : Microsoft Visual C++ , Delphi 7.0, GNU GCC

Come tutti ormai credo sappiano Borland include una libreria per la gestione dell’OpenGl che appunto si chiama OpenGl.pas che a sua volta mappa per windows buona parte dei metodi contenuti nella dll di sistema ‘opengl32.dll’. Questa libreria funziona molto bene, ed in passato la vecchia Borland aveva anche fatto il corrispondente .so per l’ormai defuntu Kylix.
Tutto ciò è molto carino ed esaltante, però a meno di volersi disegnare gli scenari da codice , una cosa sicuramente necessaria è la possibilità  di importare oggetti e scenari da un programma apposito. Quale programma se non il mitico 3d Studio ?
A questo punto ci si imbatte in una ricerca frenetica su internet incappando in diverse solozioni , tra cui una libreria interamente scritta in Delphi ed open source da un sito SULACO , a prima vista sembra funzioni tutto correttamente ma manipolando texture e punti luce affiorano dei piccoli problemi. Ovviamente è un buon lavoro che per chi è interessato permette di comprendere un po la struttura dei files 3ds e magari da una base per farne di conseguenza delle correzioni.
Provando e riprovando librerie si incappa nalla libreria “lib3ds” al sito www.lib3ds.org, questa libreria oltre ad essere molto veloce è anche semplicissima da utilizzare. A parte qualche prova iniziale ricompilandola come dll usando Microsoft Visual C++ ci è stato semplice utilizzarla con Delphi.

Su internet avevamo trovato già  dei sorgenti in C++ che permettevano di compilarne una dll facilmente utilizzabile, e la dll creata dal progetto si chiama lib3dsloader.dll , c’era però qualche problema nel richiamo delle procedure, perchè la definizione in C++ non era stdcall. Allora abbiamo apportato al sorgente questa piccola modifica :

1 – nel file lib3dsloader.h abbiamo definito il tipo di riferimento per l’esportazione dei metodi (LIB3DSLOADERAPI ) come __stdcall
2 – la funzione “ivan” dato un pathfile e un “filename” ritorna l’id “hadle” della memoria dove gli oggetti 3d studio sono caricati , i parametri da Delphi dovranno essere dei pChar che corrispondono in C a char *

nell’implementazione, cioè nel file lib3dsloader.cpp abbiamo modificato un po le definizioni in modo da renderle compliant, definendo il gruppo di funzioni esportate come “Extrnal C”

Download :
src libreria 3ds compreso di binario

Per usare questa libreria :

1) dovete copiare le due dll (lib3dsloader.dll e lib3ds-2_0.dll ) nella directory del progetto.
2) abbiamo creato una “unit” (libreria per i non delphini) che mappi i metodi della stessa (per il momento ci serve esclusivamente caricare gli oggetti 3dstudio), il codice della libreria per il richiamo :

ora creiamo un progetto… dove nel form main usiamo la unit dove abbiamo definito il map con la DLL

a questo punto avete caricato e state vedendo il vs modello 3DStudio all’interno del vostro form Delphi, ovviamente non ditemi quant’è veloce perchè ci son rimasto di stucco, viaggia alla stragrande anche dentro una virtual machine con le OpenGL in emulazione…. (da paura)

se avete bisogno di chiarimenti in merito lasciate pure un commento mi arriva la mail ….

a presto
ivan

FlameRobin 0.9.0 released

Monday 10 November 2008, 16:15
ivan.revelli@synaptica.info

FlameRobin about

FlameRobin is an open source and cross platform database administration tool for Firebird DBMS.

some info :

Project Site : http://www.flamerobin.org/
Dev.Tools/Lang : C++
download site : http://sourceforge.net/project/showfiles.php?group_id=124340&package_id=136187&

(high lights) New features

– 100% Firebird 2.1 compatible
– Tab-based property pages for database object (like Firefox browser)
– DataGrid: load and save to file options for BLOB data.
– A new, improved dialog for inserting new rows.

buon vento
ivan

JNI Interface used to integrate static C++/Delphi Library in Java

Sunday 22 June 2008, 11:14
ivan.revelli@synaptica.info

Today i found some great post to make an integration between JAVA and static library genetated with C++ using JNI.
post links :

  • http://forum.java.sun.com/thread.jspa?threadID=786600&messageID=4484880

  • http://www.inonit.com/cygwin/jni/helloWorld/
  • stay tuned
    ivan…

    Scoprite cosa possiamo fare per il vostro business
    I nostri linguaggi