* * * *

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.
Aprile 19, 2024, 05:26:38 am

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

411 Visitatori, 0 Utenti

Autore Topic: Paxtibi  (Letto 5784 volte)

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Paxtibi
« il: Ottobre 25, 2019, 02:50:11 pm »
Ciao a tutti, questo 3d servirà per parlare dei componenti del repository paxtibi (si tratta di codice del nostro Stilgar). Nell'installare i tuoi package (nella fattispecie paxjson_package.lpk) ho riscontrato il seguente errore su mac os

paxjsgl.pas(186,25) Error: Incompatible type for arg no. 1: Got "$gendef0", expected "Pointer"

Il pezzo di codice è

Codice: [Seleziona]
procedure TGenericListTypeHandle.parseType(aObject: aType; arrayNode: TJSONArray);
var
  idx: integer;
  item: TCastContainedType;
  handlers: THandlerList;
  h: TJsonTypeHandler;
  factory: TFactory;
  childNode: TJSONData;
begin
  getHandlers(tkClass, handlers);
  factory := GetJSONFactory(TCastContainedType);

  for idx := 0 to arrayNode.Count - 1 do
  begin
    childNode := arrayNode[idx];
    item := factory(TCastContainedType) as TCastContainedType;
    for h in handlers do
    begin
      if h.parse(item, nil, childNode) then
      begin
        aObject.Add(item);
        break;
      end;
    end;
  end;
  handlers.Free;
end;     

Nello specifico la riga " aObject.Add(item); "
Ovviamente la soluzione è

           {$ifdef Darwin}
                   aObject.Add(@item);
           {$endif} 

Quello che mi chiedo è se questi pkg li hai provati anche su  linux o solo su windows. Perchè per mac posso correggere io, ma nel caso non fosse già stato fatto bisogna farlo anche per linux.
« Ultima modifica: Ottobre 25, 2019, 03:00:08 pm da xinyiman »
Ieri è passato, domani è futuro, oggi è un dono...

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Paxtibi
« Risposta #1 il: Ottobre 25, 2019, 03:04:33 pm »
Mentre se compilo il progetto jsonserver.lpi su mac os (sempre con lazarus 2.1.0) ottengo il seguente errore. Che onestamente a naso non so cosa voglia dire:

app.pas(30,33) Fatal: Syntax error, "<" expected but "." found

riga incriminata

  TTimersHolder = specialize fgl.TFPGObjectList<TTimerObject>;
Ieri è passato, domani è futuro, oggi è un dono...

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Paxtibi
« Risposta #2 il: Ottobre 25, 2019, 03:21:09 pm »
se non ricordo male quell'errore lo si ha compilando con fpc 3.2.0
probabilmente nei generics è cambiato qualcosa

avrei dovuto scrivere sul forum ufficiale quando me ne sono accorto ma...
mea culpa
Imagination is more important than knowledge (A.Einstein)

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:Paxtibi
« Risposta #3 il: Ottobre 25, 2019, 03:28:38 pm »
Ho compilato con la 3.0.4
Pet Linux compila travis
Così i russi non mi cazziano (e sì un russo mi ha fatto le pulici)

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

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Paxtibi
« Risposta #4 il: Ottobre 25, 2019, 03:52:41 pm »
Io uso la

Lazarus 2.1.0 r61758M FPC 3.3.1 x86_64-darwin-cocoa (beta)

Come risolvo per adattarlo a questa versione di fpc?
Ieri è passato, domani è futuro, oggi è un dono...

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:Paxtibi
« Risposta #5 il: Ottobre 25, 2019, 03:59:50 pm »
Eh...
Fa figo usare le beta :p
Sto cercando di lavorare sulle versioni stabili.
Nomore è quello dei due che scappa avanti (visto che mi aiuta con quei sorgenti e non sarebbe giusto prendersi tutti i meriti. Le sberle sì i meriti no).

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

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Paxtibi
« Risposta #6 il: Ottobre 25, 2019, 04:03:23 pm »
Allora nomore attendo tuoi lumi
Ieri è passato, domani è futuro, oggi è un dono...

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Paxtibi
« Risposta #7 il: Ottobre 30, 2019, 07:11:55 pm »
Imagination is more important than knowledge (A.Einstein)

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:Paxtibi
« Risposta #8 il: Ottobre 30, 2019, 11:06:13 pm »
ho pushto la fix suggerita.

:)
Funziona su Mac?

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

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Paxtibi
« Risposta #9 il: Ottobre 31, 2019, 08:24:40 am »
Devi ancora applicare la seguente modifica nella unit paxjsgl
Se la applichi compila corretta e installa il package

Codice: [Seleziona]
procedure TGenericListTypeHandle.parseType(aObject: aType; arrayNode: TJSONArray);
var
  idx: integer;
  item: TCastContainedType;
  handlers: THandlerList;
  h: TJsonTypeHandler;
  factory: TFactory;
  childNode: TJSONData;
begin
  getHandlers(tkClass, handlers);
  factory := GetJSONFactory(TCastContainedType);

  for idx := 0 to arrayNode.Count - 1 do
  begin
    childNode := arrayNode[idx];
    item := factory(TCastContainedType) as TCastContainedType;
    for h in handlers do
    begin
      if h.parse(item, nil, childNode) then
      begin
           {$ifdef Darwin}
                   aObject.Add(@item);
           {$else}
                   aObject.Add(item);
           {$endif}

        break;
      end;
    end;
  end;
  handlers.Free;
end;       
Ieri è passato, domani è futuro, oggi è un dono...

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Paxtibi
« Risposta #10 il: Ottobre 31, 2019, 08:28:22 am »
Mentre il serverjson ora lo compila correttamente
Ieri è passato, domani è futuro, oggi è un dono...

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Paxtibi
« Risposta #11 il: Ottobre 31, 2019, 08:35:24 am »
Se lancio il programma jsonserver mi restituisce il seguente errore.

Codice: [Seleziona]
An unhandled exception occurred at $00000001033EE236:
EStringListError: List index (-1) out of bounds
  $00000001033EE236
  $00000001033B763D

Se faccio debug e imposto un brackpoint sulla prima riga del progetto (per intenderci su ProcessParameters;) mi restituisce

"Il progetto jsonserver ha sollevato una eccezzione di classe 'EConvertError' con messaggio: Invalid argument index in fomrat "[%-16s]|[%-9s]|[%d.%d]|[%s" "

Ma ho guardato e non ci sono parametri passati all'eseguibile dall'ide. Idee?
Ieri è passato, domani è futuro, oggi è un dono...

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Paxtibi
« Risposta #12 il: Ottobre 31, 2019, 08:37:11 am »
Scusa ho avuto le traveggole. I parametri ci sono. Ora provo a parametrizzarlo correttamente e vedo cosa esce.
Ieri è passato, domani è futuro, oggi è un dono...

xinyiman

  • Administrator
  • Hero Member
  • *****
  • Post: 3249
  • Karma: +12/-0
Re:Paxtibi
« Risposta #13 il: Ottobre 31, 2019, 08:41:26 am »
Niente, anche parametrizzandolo correttamente "-wp ../../../../../data" mi restituisce l'errore
Ieri è passato, domani è futuro, oggi è un dono...

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:Paxtibi
« Risposta #14 il: Ottobre 31, 2019, 08:50:04 am »
Dall'errore sembra essere la parte di log.
Prova a commentare i log.
Stilgar
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

 

Recenti

How To

Utenti
  • Utenti in totale: 785
  • Latest: gmax
Stats
  • Post in totale: 18771
  • Topic in totale: 2233
  • Online Today: 578
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 411
Total: 411

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.