Written by nomorelogic Marzo 21, 2012, 01:24:00 pm24311 ViewsRating: 0 (0 Rates)Print
Con questo mini howto vedremo come è possibile installare ExtPascal su Lazarus. L'installazione che ho eseguito è stata effettuata su LinuxMint 11 ma credo che possa tranquillamente essere ritenuta valida per qualsiasi distribuzione linux con Lazarus/Free Pascal già funzionanti.
Il primo requisito fondamentale da verificare è la presenza dei componenti Indy e la compilazione (andata a buon fine) di uno dei progetti demo del pacchetto stesso. Senza Indy è inutile proseguire con l'installazione di ExtPascal. Comunque, a titolo informativo, nel mio caso si tratta di Indy 10.
Il primo dubbio arriva già ora. ExtJs, nel momento in cui scrivo, è alla versione 4; l'ultima release disponibile della 3 è la 3.4.0 mentre nella guida si fa riferimento esplicitamente alla 3.2.1. Il dubbio è presto sciolto: scaricate esclusivamente la 3.2.1 in quanto con la 3.4.0 la compilazione dei progetti ExtPascal va a buon fine ma a run-time avrete delle bruttissime sorprese...
Seguiamo la guida che troviamo in http://code.google.com/p/extpascal/wiki/GettingStarted Per ora ci interessa seguire solo la prima parte, quella che ci permetterà di ottenere un ambiente di lavoro funzionante su Lazarus.
Citazione
01. Open ExtPascalSamples.dpr source in ExtPascalSamples folder using your favorite ObjectPascal IDE.
Riguardo questo punto, non credo ci sia molto da dire.
Citazione
02. For Lazarus set these Parsing options (menu \Project\Compiler Options\Parsing): Syntax mode: 'Delphi' ON C++ Styled INLINE ON C Style macros OFF Constructor name must be init OFF Static Keyword in Objects ON Use Ansi Strings
Sarete felici di sapere che, almeno io, ho trovato tutto correttamente preimpostato e quindi, con molta probabilità, anche voi proverete lo stesso senso disoddisfazione.
Citazione
03. For Delphi set these Syntax options (menu \Project\Options\Compiler): 04. For FreePascal use -Smdghie50 -venwhi -l as compiler options. Append these options -O2pPENTIUM4 -CXpPENTIUM4 -XXsi -CfSSE to release/final version. In Lazarus these options are not necessary, but you can use this path:
Questi punti, installando su Lazarus, vanno ignorati.
Citazione
05. Set the compiler "Search path" according. By example to C:\ExtPascal; C:\ExtPascal\ExtJSWrapper
In progetto -> Opzioni del Compilatore -> campo "altri file unit (-Fu)" verificate che siano impostate sia la path per Indy che per ExtPascal: nel mio caso: - /usr/lib/lazarus/0.9.28.2/components/indy/lazarus/lib/ - /usr/lib/lazarus/0.9.28.2/components/ExtPascal-0.9.8/
Citazione
06. Compile ExtPascalSamples as example.
Aprite il progetto ExtPascal_embedded.lpi Si tratta del modo più veloce di iniziare a vedere ExtPascal in quanto, senza dover né reperire né configurare un web server, abbiamo la possibilità di avere un binario con un web server embedded, cioè è il binario stesso il web server. E questo grazie ad Indy.
Se nel vostro PC avete comunque già un web server che occupa la porta 80, prima di compilarlo cercate la riga
e sostituite il parametro 80 con 8080. In questo modo non avrete interferenze sulla porta del web server che avete già installato.
Ultime impostazioni
Prima di lanciare la demo occorre fare un'ultima operazione. Ricordate ExtJs scaricato all'inizio? Ebbene decomprimetelo in una cartella, rinominatela in "ext" e copiatela nella cartella root del web server. Nel nostro caso, nella stessa cartella del binario ottenuto dalla compilazione.
Lancio
A questo punto non vi resta che lanciare da riga di comando: ./ExpPascalSample
Per progrmmare agevolmente con il binomio Lazarus + ExtPascal si necessita di installare anche i componenti "ExtPascal toolkit" (http://web.me.com/macpgmr/ExtPascal/). Questi componenti sono pressoché indispensabili per sviluppare nuove applicazioni in quanto mettono a disposizione:
FmToExtP: un tool a linea di comando che, udite udite, converte form in delphi/lazarus in codice ExtPascal!
Componenti specifici per la programmazione in ExtPascal
l'aggiunta di "ExtPascal Application" e "ExtPascal Form" alla lista "Nuovo..."
un componente griglia aggiuntivo da usare con ExtPascal da Lazarus o Delphi
Se già avete seguito la guida di installazione di ExtPascal fino a quì vuol dire che avete già scaricato quasi tutto quello che vi serve. Ora procediamo all'installazione, per prima cosa diamo per assodato che se vi trovate su linux avete messo la cartella con ExtPascal nella seguente posizione
/usr/lib/lazarus/0.9.30/components/ExtPascal-0.9.8/ (dove ovviamente 0.9.30 corrisponde con la vostra versione di Lazarus)
oppure se siete sotto windows
c:\lazarus\components\ExtPascal-0.9.8\
Bene all'interno di questa cartella trovate la seguente sotto cartella "ExtP Toolkit" andate a rinominarla così "ExtPToolkit", ovvero senza spazi. Perchè può dare problemi in fase di compilazione.
Bene ora abbiamo bisogno di scaricare orpheus, quindi andate alla seguente pagina web
Bene ora che avete compilato ed installato questi package dovete aprire il progetto fmtoextp/fmtoextp.lpi e compilarlo. Bene ora il vostro lazarus è pronto per lavorare con ExtPascal.
Configurare Apache
Per far funzionare il tutto con Apache come web server, si richiede che sia installato il package components/fpweb/weblaz.lpk
Bene, ora vediamo come costruire la nostra prima applicazione con le ExtPascal:
File --> New --> ExtPascal Application
Vi compare una form (di tipo TExtWindow)
andate nella tab "ExtPascal" della palette e trascinate un pulsante (di tipo TExtButton) sulla form. Cliccate due volte sul pulsante e inserite il seguente codice
Godetevi le fatiche del vostro lavoro! xinyiman e nomorelogic
About the author
nomorelogic registered at Italian community of Lazarus and Free Pascal on Marzo 10, 2012, 12:27:59 pm and has posted 2928 posts in the boards since then. Last visit was Dicembre 03, 2024, 07:03:57 pm.
Written by xinyiman
il Gennaio 08, 2016, 04:01:56 pm
Volevo far presente che è cambiata una piccola cosa: quando vado a compilare il package extp_proj/extp_proj.lpk devo assicurarmi che tra le dipendenze c'è il requisito
lazdebuggergdbmi
se non c'è aggiungetelo. Altrimenti non compila.
Commenting option has been turned off for this article.
Questo blog non rappresenta una testata giornalistica poiché viene
aggiornato senza alcuna periodicità. Non può pertanto considerarsi un
prodotto editoriale ai sensi della legge n. 62/2001.
Questo sito utilizza cookie, anche di terze parti, per offriti servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all’uso dei cookie.
lazdebuggergdbmi
se non c'è aggiungetelo. Altrimenti non compila.