* * * *

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.
Maggio 02, 2024, 05:45:25 pm

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

512 Visitatori, 0 Utenti

Autore Topic: [RISOLTO] PowerPdf su Mac Os X  (Letto 10602 volte)

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
[RISOLTO] PowerPdf su Mac Os X
« il: Aprile 20, 2012, 11:36:40 am »
Un saluto a tutto il forum. Qualcuno è risucito ad installare powerpdf su Mac Os X?

Io sto provandoci su Mac Ox X 10.7 Lion, con Lazarus 0.9.28.2, ma non riesco a venirne ancora a capo.

Se installo la versione che uso correntemente per Linux e Windows, la 0.9.1, compilo correttamente il package ed eseguo il rebuild di lazarus senza problemi. Quando vado però a compilare il mio progetto che usa powerpdf ottengo il seguente errore nel modulo PdfTypes.pas:

Codice: [Seleziona]
procedure _WriteString(const Value: String; Astream: TStream);
begin
  AStream.Write(Pchar(Value)^, Length(Value));
end;

Codice: [Seleziona]
Error: Illegal type conversion: "ShortString" to "^Char"

Ho provato allora a disinstallare powerpdf e ad installare la versione corrente da Lazarus CCR, la 0.9.7 del 07/12/2011 scaricabile qui:

http://sourceforge.net/projects/lazarus-ccr/files/PowerPDF/

In questo caso tuttavia riesco a compilare il pacchetto LPK, ma al momento del rebuild di Lazarus ottengo questo errore, sempre nel modulo PdfTypes.pas, nelle dichiarazioni iniziali:

Codice: [Seleziona]
TPdfObject = class;

Codice: [Seleziona]
Error: Identifier not found "class"

Lo stesso identico problema si verifica se installo la SVN (0.9.7.1) scaricata con:

Codice: [Seleziona]
svn co https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/powerpdf

Avevo letto che un problema sotto Mac Os X era quello di sostituire le direttive di compilazione IF(N)DEF Linux con Unix e di sostutire ZLib con PasZLib nella clausola uses, ma vedo che entrambe le cose sono già così sia nella 0.9.7 che nella 0.9.7.1

Avete qualche consiglio per risolvere il problema? Non vorrei provare con le versioni 0.9.30 o successive che hanno purtroppo  fastidiosi bachi, del resto nel readme anche della SVN vedo che è stata testata con Lazarus 0.9.27 (r16875), quindi non credo che sia quello il problema.

Buona giornata a tutti,

Stefano
« Ultima modifica: Aprile 25, 2012, 05:08:09 pm da CortelliStefano »

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:PowerPdf su Mac Os X
« Risposta #1 il: Aprile 20, 2012, 11:47:00 am »
Ciao Stefano come ben sai purtoppo non ho un Mac con cui fare delle prove! Sorry!  :-\
Ieri è passato, domani è futuro, oggi è un dono...

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:PowerPdf su Mac Os X
« Risposta #2 il: Aprile 20, 2012, 12:33:34 pm »
Codice: [Seleziona]
procedure _WriteString(const Value: String; Astream: TStream);
begin
  AStream.Write(Pchar(Value)^, Length(Value));
end;

Prova a cambiare in questo modo la chiamata.

Codice: [Seleziona]
procedure _WriteString(const Value: String; Astream: TStream);
begin
  AStream.Write(Value[1], Length(Value));
end;

In questo modo eviti il cast a PChar.
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:PowerPdf su Mac Os X
« Risposta #3 il: Aprile 20, 2012, 12:55:53 pm »
Sono andato a controllare il metodo di TStream
Codice: [Seleziona]
 Procedure TStream.WriteAnsiString (const S : String);
  Var L : Longint;

  begin
    L:=Length(S);
    WriteBuffer (L,SizeOf(L));
    WriteBuffer (Pointer(S)^,L);
  end;   
Non credo vada bene al tuo scopo ... visto che ti interesa scrivere solo il contenuto della stringa (insomma solo testo).
Codice: [Seleziona]
procedure _WriteString(const Value: String; Astream: TStream); 
begin   
  AStream.Write(Pchar(Value)^, Length(Value));
end;
Quello che ti ho indicato prima andava benissimo con Delphi.
In FreePascal dovrebbe diventare una cosa simile.
Codice: [Seleziona]
procedure _WriteString(const Value: String; Astream: TStream); 
 begin   
   AStream.Write(Pointer(Value)^, Length(Value));
 end;

Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:PowerPdf su Mac Os X
« Risposta #4 il: Aprile 20, 2012, 01:24:42 pm »
Ciao e grazie della velocissima risposta.

La prima soluzione sembrerebbe proprio funzionare, per lo meno non da' errore in compilazione:

Codice: [Seleziona]
AStream.Write(Value[1], Length(Value));

La seconda soluzione invece da' errore:

Codice: [Seleziona]
AStream.Write(Pointer(Value)^, Length(Value));

Error: Illegal type conversion: "ShortString" to "^untyped"

Compilando seguendo la prima soluzione, mi vedo un nuovo errore nel PdfImages.pas (da quello che ho capito PdfTypes e PdfImages sono i due moduli più ostici, se riusciamo a risolvere anche questo forse riusciamo a venirne a capo).

Il primo errore è il seguente:

Codice: [Seleziona]
PdfImages.pas(1,1) Fatal: Can't find unit QGraphics used by PdfImages

Ho pensato quindi che ci fosse qualche problema a livello di direttive di compilazione, ed ho aggiunto allora davanti a tutto:

Codice: [Seleziona]
{$DEFINE UNIX}
{$DEFINE LAZ_POWERPDF}

quindi sostituito LINUX con UNIX nelle direttive di compilazione.

Ora compilando ricevo il seguente errore:

Codice: [Seleziona]
function CreatePdfImage(AImage: TGraphic; ImageClassName: string; ObjectMgr: TPdfObjectMgr=nil): TPdfImage;
var
  PdfImageCreator: TPdfImageCreator;
begin
  Result := nil;
  {$IFDEF LAZ_POWERPDF}
  PdfImageCreator := TPdfImageCreator(PdfLazFindClass(ImageClassName).Create);
  {$ELSE}
  PdfImageCreator := TPdfImageCreator(FindClass(ImageClassName).Create);
  {$ENDIF}

Error: Identifier not found "PdfLazFindClass"

Penso anche qui che ci sia errore a livello di direttive di compilazione, ho sostituito usando sempre e solo

Codice: [Seleziona]
  PdfImageCreator := TPdfImageCreator(FindClass(ImageClassName).Create);

Adesso sembra compilare, ma viene fuori un nuovo errore, sempre in PdfImages.pas:

Codice: [Seleziona]
pb[ 0 ] := acolor.red shr 8;
pb[ 1 ] := acolor.green shr 8;
pb[ 2 ] := acolor.blue shr 8;

PdfImages.pas(275,35) Error: Incompatible types: got "LongWord" expected "TByteArray"

C'è qualcosa che posso tentare cambiare per bypassare questo errore?

Ancora grazie per l'aiuto, ciao,

Stefano

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:PowerPdf su Mac Os X
« Risposta #5 il: Aprile 20, 2012, 01:32:41 pm »

Codice: [Seleziona]
pb[ 0 ] := acolor.red shr 8;
pb[ 1 ] := acolor.green shr 8;
pb[ 2 ] := acolor.blue shr 8;

PdfImages.pas(275,35) Error: Incompatible types: got "LongWord" expected "TByteArray"


Codice: [Seleziona]
{$ifndef fpc}
        for y := 0 to Height - 1 do
        begin
          pb := ScanLine[y];
          x := 0;
          while x < Width * PIXEL_COLOR_SIZE - 1 do
          begin
            b := pb[x];
            pb[x] := pb[x+2];
            pb[x+2] := b;
            Stream.Write(pb[x], 3);
            x := x + PIXEL_COLOR_SIZE;
          end;
{$else}
        for y := 0 to aintfimage.Height - 1 do
        begin
          new(pb);
          for x := 0 to aintfimage.Width-1 do
          begin
            aColor := aIntfImage.Colors[x,y];
            pb[ 0 ] := acolor.red shr 8;
            pb[ 1 ] := acolor.green shr 8;
            pb[ 2 ] := acolor.blue shr 8;
            Stream.write(pb[ 0 ], 3);
          end;
          dispose(pb);
{$endif}
          Attributes.AddItem('ColorSpace', TPdfName.CreateName('DeviceRGB'));


prova a cambiare il codice con p^[xxx]
Dall'errore di compilazione che riporti, il compilatore sta ancora puntando all'intero array.
Come in C/C++ se piazzi un puntatore a tipo e poi accedi come array, stai chiedendo al compilatore di accedere alla memoria (n*Size<T>) rispetto al puntatore.
Prova a derefenziare.
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:PowerPdf su Mac Os X
« Risposta #6 il: Aprile 20, 2012, 04:20:09 pm »
Ancora grazie dell'aiuto, sempre preciso e... risolutivo!  ;)

Ho aggiunto il ^ e adesso non da' più errore:

Codice: [Seleziona]
pb^[ 0 ] := acolor.red shr 8;
pb^[ 1 ] := acolor.green shr 8;
pb^[ 2 ] := acolor.blue shr 8;

Se può servire anche ad altri, riporto anche gli errori successivi che dovrei essere riuscito a sistemare. In gran parte si tratta di errori nelle direttive di compilazione.

1) Altro errore in fondo al modulo PdfImages:

Codice: [Seleziona]
initialization
  {$IFDEF LAZ_POWERPDF}
  PdfLazRegisterClassAlias(TPdfBitmapImage, 'Pdf-Bitmap');
  {$ELSE}
  RegisterClassAlias(TPdfBitmapImage, 'Pdf-Bitmap');
  {$ENDIF}

Identifier not found "PdfLazRegisterClassAlias"

Ho cambiato allora l'IFDEF con IFNDEF in modo che utilizzasse l'altra procedura e funziona.

Codice: [Seleziona]
initialization
  {$IFNDEF LAZ_POWERPDF}
  PdfLazRegisterClassAlias(TPdfBitmapImage, 'Pdf-Bitmap');
  {$ELSE}
  RegisterClassAlias(TPdfBitmapImage, 'Pdf-Bitmap');
  {$ENDIF}

2) Errore in PReport:

Codice: [Seleziona]
PReport.pas(352,50) Error: Identifier not found "TMessage"

che ho risolto semplicemente aggiungendo una direttiva di compilazione all'inizio:

Codice: [Seleziona]
{$DEFINE LAZ_POWERPDF}

3) Altro problema in PRAnnotation:

Codice: [Seleziona]
PRAnnotation(1,1) Fatal: Can't find unit Windows used by PRAnnotation

risolto anche qui aggiungendo la direttiva di compilazione:

Codice: [Seleziona]
{$DEFINE LAZ_POWERPDF}

4) Problema si sposta al modulo PdfJpegImage.pas:

Codice: [Seleziona]
PdfJpegImage.pas(1,1) Fatal: Can't find unit JPEG used by PdfJpegImage

risolto con la solita direttiva di complazione:

Codice: [Seleziona]
{$DEFINE LAZ_POWERPDF}

5) Altro errore sempre in PdfJpegImage:

Codice: [Seleziona]
PdfJpegImage.pas(79,27) Error: Identifier not found "PdfLazRegisterClassAlias"

risolto cambiando l'IFDEF con IFNDEF:

Codice: [Seleziona]
initialization

  {$IFNDEF LAZ_POWERPDF}
  PdfLazRegisterClassAlias(TPdfJpegImage, 'Pdf-Jpeg');
  {$ELSE}
  RegisterClassAlias(TPdfJpegImage, 'Pdf-Jpeg');
  {$ENDIF}

6) Ancora un errore in PdfJpegImage:

Codice: [Seleziona]
PdfJpegImage.pas(1,1) Fatal: Can't find unit Windows used by PRJpegImage

Tra l'altro la unit Windows non è neppure nominata in PRJpegImage (provato anche con il Cerca dell'IDE), penso quindi che si tratti di qualche altro modulo richiamato nella uses, presumo sempre a causa di direttive di compilazione errate da qualche parte.

Ho aggiunto quindi le direttive di compilazione:

Codice: [Seleziona]
{$DEFINE UNIX}
{$SEFINE LAZ_POWERPDF}

nei moduli finora reincontrati ed anche in PRJpegImage.pas

Al momento non ho incontrato altri errori di compilazione, anche se aspetto a scrivere "Risolto" di potere verificare il funzionamento di PowerPdf sotto Mac Os X.

Adesso vado a continuare il mio lavoro su altri errori in sede di compilazione del progetto, che però riguardano più in generale l'installazione di Lazarus e non powerpdf.

Ancora un grandissimo GRAZIE per l'aiuto, a buon rendere ...  ;)

Buona giornata a tutti,

Stefano

Ancora un grande grazie per l'aiuto,

Stefano

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:PowerPdf su Mac Os X
« Risposta #7 il: Aprile 20, 2012, 04:34:02 pm »
Il punto 5 è errato.
PdfLazRegisterClassAlias è definito in PdfTypes.
Codice: [Seleziona]
{$IFDEF LAZ_POWERPDF}
procedure PdfLazRegisterClassAlias(aClass: TPersistentClass; Alias: string);
begin
  Classes.RegisterClass(aClass);
  if AliasList=nil then
    AliasList := TStringList.Create;
  AliasList.AddObject(Alias, TObject(aClass));
end;

Scusa la domanda, ma quando compili, hai messo come direttiva di compilazione (da IDE, per intenderci) LAZ_POWERPDF?
Non è che i problemi che incontri siano dovuto a quello? (Mi sembra che tu stia mettendo mano a tutta la libreria con modifiche ... "al volo").
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:PowerPdf su Mac Os X
« Risposta #8 il: Aprile 20, 2012, 06:01:07 pm »
Hai ragione, nella fretta si vede che ho sbagliato qualcosa.

Ho rimesso il codice originario:

Codice: [Seleziona]
initialization
  {$IFDEF LAZ_POWERPDF}
  PdfLazRegisterClassAlias(TPdfBitmapImage, 'Pdf-Bitmap');
  {$ELSE}
  RegisterClassAlias(TPdfBitmapImage, 'Pdf-Bitmap');
  {$ENDIF}

senza problemi.

Tutti i moduli che mi hanno dato errore hanno la direttiva di compilazione:

Codice: [Seleziona]
{$DEFINE LAZ_POWERPDF}
{$DEFINE UNIX}

Adesso sono fermo sulla GTKWSArrow:
http://www.lazaruspascal.it/index.php?topic=292.0

ma questo non c'entra con PowerPdf.

Ancora grazie per l'aiuto,

Stefano

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:PowerPdf su Mac Os X
« Risposta #9 il: Aprile 24, 2012, 09:39:37 pm »
Adesso sono appena riuscito a sistemare i problemi con le UIB (che mi impedivano di testare PowerPdf) e ho provato a lanciare una stampa.

Purtroppo non riesco ancora a generare PDF.

Quando lancio una stampa, ottengo l'errore:

Codice: [Seleziona]
Error reading PReport1.Author: Access violation

Press OK to ignore and risk data corruption.
Press Cancel to kill the program

Grazie per qualsiasi consiglio.

Buona serata a tutti,

Stefano

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:PowerPdf su Mac Os X
« Risposta #10 il: Aprile 24, 2012, 09:52:31 pm »
Detta così, credo che PReport1 non sia istanziato ....
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:PowerPdf su Mac Os X
« Risposta #11 il: Aprile 24, 2012, 10:04:44 pm »
Grazie della velocissima risposta, hai qualche consiglio per provare a fare qualche tentativo?

Tutto sotto Linux e Windows funziona; a parte quelle due modifiche in PdfTypes e PdfImages e l'aggiunta delle direttive di compilazione per Lazarus, per il resto il codice è lo stesso e del mio progetto non ho toccato nulla.

Googlando un po' ho visto un topic nel forum ufficiale che aveva risolto mettendo le direttive di compilazione:

http://www.lazarus.freepascal.org/index.php?topic=16427.0

A me questo non è bastato. Non so se sia cambiato qualcosa sotto Lion, anche se le ultime versioni di PowerPdf sembravano avere ancora più problemi sotto Mac, come da inizio topic.

Ancora un grande grazie per il tuo tempo e il tuo aiuto, non so proprio come venire a capo del problema...  :(

Buona serata,

Stefano


Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:PowerPdf su Mac Os X
« Risposta #12 il: Aprile 24, 2012, 10:18:20 pm »
Diciamo che l'uso intenso delle direttive di compilazione non è il massimo ...
Se facessero i fork dei sorgenti per machine/operating system, ci sarebbero meno problemi.

Leggevo che c'è un motore interato in mac, non è che puoi fare una versione specifica per mac?
Fai tu il fork dei sorgenti.
Su Mac "specializzi" il report della fattura (immagino che su sia alle prese con documenti da inviare per posta certificata).
In questo modo utilizzi un pezzo del sistema operativo.
In questi casi metto un MD alla fine del nome del file (Machine Depend). Quello che cambia è il path dei sorgenti. In questo modo i sorgenti attorno a questi non cambiano ... fai un "Uses ....ReportMD...".
Ne fai uno "Generico" dal quale estendi le versioni per Linux e Windows.
Per Mac, è diverso. In pratica hai 4 file ...

Non so se questo cambio di struttura del progetto è un casino al punto in cui sei ... come puoi immaginare con i sorgenti davani diventerebbe più facile aiutarti.
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:PowerPdf su Mac Os X
« Risposta #13 il: Aprile 24, 2012, 10:27:48 pm »
Grazie ancora della pazienza, dal topic sul forum ufficiale di Lazarus ho visto che dovrebbe in teoria esserci la possibilità di usare Quartz anche se dovrei capire come.

Il punto è che ho un progetto molto complesso (oltre 250.000 righe di codice) con almeno una ventina di moduli di stampa, i quali gestiscono una serie di opzioni di stampa, sui quali dovrei andarci a mettere le mani...

Senza considerare che poi con un componente grafico come PowerPdf avrei già una serie di impostazioni della pagina già a posto ed il mio obiettivo era quindi di fare il porting di un mio progetto sotto Mac Os X.

Il vantaggio di Lazarus sarebbe proprio il fatto di essere multipiattaforma, per cui vorrei cercare se c'è qualche modo di fare funzionare questo benedetto PowerPdf sotto Mac Os X (e visto che qualcuno sembra esserci riuscito... forse non è impossibile...), che è l'unico componente che mi da' problemi (anche Synaptic per l'invio delle mails, che sapevo che aveva problemi su Mac, sembra funzionare utilizzando la svn).

Se hai qualche idea... grazie davvero...  ;)

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:PowerPdf su Mac Os X
« Risposta #14 il: Aprile 24, 2012, 10:35:55 pm »
Non avanto un MAC sono nell'impossibilità "fisica" di aiutarti.
Prova a chiedere aiuto nel Forum inglese.
(In ogni caso 250k di righe non è un grosso progetto ;) Secondo IBM siamo ancora ad un progetto piccolo :D Ti lascio immaginare per IBM cosa sia un progetto grande ...)
Piccola postilla, la misurazione a righe non è più utilizzata da molti anni. (Non ricordo se è utilizzata ancora con COBOL, ma le ultime metriche che ho sentito utilizzare, parlavano di funzionalità, ma siamo nell'ambito assicurativo)
Nell'ambito della programmazione ad oggetti si contano le classi.
Sotto le 500 classi è un piccolo progetto (sempre metrica IBM).
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

 

Recenti

How To

Utenti
Stats
  • Post in totale: 18786
  • Topic in totale: 2237
  • Online Today: 543
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 512
Total: 512

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.