* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 10, 2024, 07:13:42 pm

Inserisci il nome utente, la password e la durata della sessione.

103 Visitatori, 1 Utente
 
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.

Per effettuare la mia installazione ho seguito la guida che trovate in:
http://code.google.com/p/extpascal/wiki/GettingStarted


Download di ExtJs


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...

Usate quindi, per il download, il seguente link
http://www.sencha.com/products/extjs/download/ext-js-3.2.1



Download di ExtPascal

Scaricare la versione 0.9.8.0 da http://code.google.com/p/extpascal/downloads/list

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

Codice: [Seleziona]

Application := TIdExtApplication.Create('ExtPascal Samples ' + ExtPascalVersion, TSession, 80, 5);


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

e far puntare il vostro browser su:
http://localhost:8080/Home



ExtPascal toolkit


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

http://wiki.lazarus.freepascal.org/OrphPort

ed eseguite il download tramite svn nella cartella in cui vi trovate ora ovvero "ExtPascal-0.9.8"

Ora aprite lazarus ed installate i seguenti package nell'ordine:

extp_ctrls/extp_ctrls.lpk
extp_proj/extp_proj.lpk
orpheus/orpheus.lpk
extp_grid/extp_grid.lpk

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

Poi scaricare il seguente file
 http://www.fastcgi.com/dist/mod_fastcgi-2.4.6-AP22.dll

rinominarlo in "mod_fastcgi.so"
spostarlo in c:\apache\modules o equivalente

In (C:\Apache\conf) httpd.conf file inserire la seguente riga dove si trovano anche gli altri LoadModule

Codice: [Seleziona]
LoadModule fastcgi_module modules/mod_fastcgi.so


Dichiarare il server esterno del fastcgi, aggiungere la seguente riga al fondo del file httpd.conf:

Codice: [Seleziona]
fastcgiexternalserver cgi-bin/NomeDelVostroEseguibileCGI –host localhost:2014 –idle-timeout 3


Riavviare apache, eseguire da linea di comando il programma NomeDelVostroEseguibileCGI (contenuto nella cartella cgi-bin) e digitare

Codice: [Seleziona]
localhost/cgi-bin/NomeDelVostroEseguibileCGI


(altre informazioni le potete reperire all'indirizzo http://code.google.com/p/extpascal/wiki/GettingStarted ad esempio per ubuntu la procedura è leggermente diversa)


Hello world

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

Codice: [Seleziona]
ExtMessageBox.Alert('Hello','Wolrd');


Ora andate a cambiare la proprietà Text del pulsante in "PREMERE QUI".

Ora compilate il progetto e quando avete ottenuto l'eseguibile spostatelo nella cartella c:\apache\cgi-bin\ oppure in /usr/lib/cgi-bin/

Quindi la riga che prima abbiamo menzionato se l'eseguibile si chiama project1 da così

fastcgiexternalserver cgi-bin/NomeDelVostroEseguibileCGI –host localhost:2014 –idle-timeout 3

dovrebbe diventare (per linux)

Codice: [Seleziona]
fastcgiexternalserver cgi-bin/project1 –host localhost:2014 –idle-timeout 3


oppure (per window)

Codice: [Seleziona]
fastcgiexternalserver cgi-bin/project1.exe –host localhost:2014 –idle-timeout 3


Ipotizziamo che il vostro eseguibile si chiama project1 dovete aprire una console o shell ed eseguire questa vostra applicazione.

Ora se tutto è correttamente impostato dovreste aprire un browser e digitare

http://localhost/cgi-bin/project1.exe                       (se usate windows)

http://localhost/cgi-bin/project1                              (se usate linux)


Godetevi le fatiche del vostro lavoro!
xinyiman e nomorelogic



Share on Twitter! Digg this story! Del.icio.us Share on Facebook! Technorati Reddit StumbleUpon

Articles in « WEB »

Comments *

1) Re: ExtPascal: Installazione e configurazione
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.

Recenti

How To

Utenti
  • Utenti in totale: 802
  • Latest: Il Faro
Stats
  • Post in totale: 19115
  • Topic in totale: 2281
  • Online Today: 114
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 1
Guests: 103
Total: 104

Disclaimer:

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.