program Project1;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
{$IFDEF HASAMIGA}
athreads,
{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, unit1
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource:=True;
Application.Scaled:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
program lazwebserver;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
{$IFDEF OpenSslOk}
opensslsockets,
{$ENDIF}
fphttpapp, HTTPDefs, fphttp, Classes, sysutils, uControl, uSmartDebugLog, uCustomException,
uCustomGetModule, uCookieManagement, uConsts, uJWTAbstract;
Verifica se tra le custom options hai
-dUseCThreads
Altrimenti se non c'è mettilo a mano
Verifica se tra le custom options hai
-dUseCThreads
Altrimenti se non c'è mettilo a mano
Stai parlando per linux o per windows? Io non riesco a farlo andare ne in un ambiente ne nell'altro.
1) Build sotto Windows e lancio senza debugger: funziona il progetto ?
1) Build sotto Linux e lancio senza debugger: funziona il progetto ?
Usare il debugger su applicazioni di questo tipo come accennava @xinyiman è problematico. Se vuoi farlo devi incominciare a selezionare "Non Mostrare più" quando ti compare una eccezione fino a quando non ti gira tutto senza eccezioni, e poi puoi impostare i tuoi breakpoint dovi ti interessano.
Non riesco a capire come faccio a scrivere un sw senza fare il debug. Si tratta di un piccolo esempio figuriamoci se il progetto si ingrandisce tanto. Sono partito molti anni fa con VB6 e poi con Xojo (un compilatore multi piattaforma), ed ho sempre fatto il debug anche di progetti grossi. Non riesco a capire come potrei fare senza. Chiedo scusa ma davvero con Lazarus sono alle prime armi e stò valutando se può essere uno strumento che io possa usare o sia in grado di usare.
Perchè questa applicazione deve lavorare in multithread?
Se vuoi sviluppare web comodamente al momento (e senza troppi sbattimenti) in lazarus devi adottare i componenti web della TMS Software (un po' come in xojo ci sono anche qui estensioni a pagamento). Altrimenti aspetti che sia maturo il progetto FRESNEL che dovrebbe essere nativo di lazarus.
Se vuoi sviluppare web comodamente al momento (e senza troppi sbattimenti) in lazarus devi adottare i componenti web della TMS Software (un po' come in xojo ci sono anche qui estensioni a pagamento). Altrimenti aspetti che sia maturo il progetto FRESNEL che dovrebbe essere nativo di lazarus.
Ciao,
come diceva Xinyiman lo sviluppo di un server web è già di per sè una bella sfida, soprattutto se non hai ancora familiarità con l'ambiente di sviluppo.
Comunque, se hai necessità di mettere su qualcosa, oltre ai TMS io ti consiglio questa libreria: https://github.com/risoflora/brookframework (https://github.com/risoflora/brookframework) La sto usando per mettere in piedi un microservizio e mi sento di consigliarla. Lato lazarus/pascal è tutto abbastanza facile, devi però avere abbastanza chiaro come avviene la comunicazione tra browser e server (metodi, headers, ecc...).
Vi dico che non sono un programmatore di professione, lo faccio per hobby e quando ho tempo. Un tempo lo facevo come seconda attività. La prima ha preso il sopravvento per cui è rimasta un pò di passione. Xojo mi piace molto tutt'ora, mi ha permesso da libero professionista di fare programmi e di guadagnare qualcosa, ma ci sono delle librerie che non funzionano, è a pagamento e lazarus mi sembra davvero aperto a tutto, se lo sapessi usare bene. Lazarus l'ho sempre avuto sul mio pc, ma non sono mai riuscito a prendere confidenza. Adesso avrei un'idea e vorrei portarla avanti.
Vorrei creare con lazarus una app console che risponde ad un indirizzo IP esattamente come ha fatto xinyiman in modo che la logica principale risieda nel prg lazarus e la parte frontend su file html/php su un webserver. Inoltre il prg lazarus invia secondo un timing una serie di dati che le pagine html/php le visualizzino un pò come ajax senza fare il refresh della pagina totale.
Grazie
Riguardo a questo, te la sentiresti di scrivere una serie di guide? Potrebbe essere d'aiuto a qualcuno.
Al momento allora l'unico modo che conosco per fare quello che vuoi è proprio quello che fa il mio programma.
Però come già detto il debug lo devi fare un po' più grezzo (guarda messaggi precedenti).
Su linux hai guardato la custom option che ti ho suggerito?
Mi piacerebbe sul blog.Riguardo a questo, te la sentiresti di scrivere una serie di guide? Potrebbe essere d'aiuto a qualcuno.
Beh, posso provare a farne una di introduzione a quel framework e vediamo come va...
Dove pensavi andasse messa? Qui o sul blog?