Italian community of Lazarus and Free Pascal

Programmazione => Generale => Topic aperto da: eddy16391 - Gennaio 18, 2019, 10:10:41 am

Titolo: Problema con Indy e crtl+space
Inserito da: eddy16391 - Gennaio 18, 2019, 10:10:41 am
Ciao a tutti ragazzi,
utilizzo correttamente Lazarus 1.8.4 su sistema operativo xUbuntu ma ora che mi sono ritrovato a fare un progetto utilizzando la piattaforma Indy mi sono accorto di un problema:
ogni volta che utilizzo la combo ctrl+space mi da errore invece di farmi apparire la finestra di completamento.

L'errore che mi appare è questo:
Codice: [Seleziona]
IdGlobal.pas(1889,105) Error: expected ;, but deprecated found
e mi apre il file IdGlobal.pas con queste righe evidenziate:
Codice: [Seleziona]
// For linux the user needs to set this variable to be accurate where used (mail, etc)
  GOffsetFromUTC: TDateTime = 0{$IFDEF HAS_DEPRECATED}{$IFDEF USE_SEMICOLON_BEFORE_DEPRECATED};{$ENDIF} deprecated{$ENDIF};

Ho provato a seguire anche quello che c'è scritto qui (https://github.com/skelter/Indy/tree/master/Lib/fpcnotes) ma non ho capito come inserire il parametro "-dUseCThreads" nelle opzioni del progetto.

Qualcuno sa come risolvere? Vi anticipo che se invece compilo il progetto o lo lancio con F9 funziona correttamente.

Grazie!!
Titolo: Re:Problema con Indy e crtl+space
Inserito da: xinyiman - Gennaio 18, 2019, 10:46:31 am
Dall'IDE

Progetto -> Opzioni progetto -> Varie

e in Opzioni Personalizzate inseriamo la seguente stringa: -dUseCThreads
Titolo: Re:Problema con Indy e crtl+space
Inserito da: eddy16391 - Gennaio 18, 2019, 10:54:56 am
Purtroppo non risolve il problema, possibile che a nessun altro si presenta la stessa stranezza?!  :(
Titolo: Re:Problema con Indy e crtl+space
Inserito da: xinyiman - Gennaio 18, 2019, 11:07:48 am
Prova a cambiare da

{$ENDIF} deprecated{$ENDIF};

a

{$ENDIF} deprecated;{$ENDIF}

Vedi se funziona
Titolo: Re:Problema con Indy e crtl+space
Inserito da: eddy16391 - Gennaio 18, 2019, 11:17:02 am
Niente  :-\
Titolo: Re:Problema con Indy e crtl+space
Inserito da: nomorelogic - Gennaio 18, 2019, 12:16:56 pm
sembra che il compilatore si aspettava il ";" ed invece si è trovato "deprecated"

prova a mettere
{$DEFINE USE_SEMICOLON_BEFORE_DEPRECATED}

in cima alla unit dove c'è l'errore, poi incrocia le dita e compila

Edit:
ok, ok....
"si aspettasse" :D
Titolo: Re:Problema con Indy e crtl+space
Inserito da: eddy16391 - Gennaio 18, 2019, 04:19:33 pm
Purtroppo neanche così si risolve.
Il problema è che se compilo ed eseguo funziona correttamente.
L'errore si verifica solo se uso ctrl+barra spaziatrice per farmi apparire i suggerimenti sugli oggetti indy.
Titolo: Re:Problema con Indy e crtl+space
Inserito da: nomorelogic - Gennaio 18, 2019, 05:44:54 pm
suona come un bug...
Titolo: Re:Problema con Indy e crtl+space
Inserito da: bonmario - Gennaio 18, 2019, 06:24:28 pm
ogni volta che utilizzo la combo ctrl+space mi da errore invece di farmi apparire la finestra di completamento.

Se ho capito bene quello che chiedi, non credo che sia relativo ad Indy: io non ho mai usato Indy ed ogni tanto lo fa anche a me.
Tra l'altro, all'interno dello stesso sorgente, se faccio [CTRL + SPACE] su alcune righe mi da un problema simile (mi segnala errori che quando poi compilo non esistono, da tutt'altra parte), se lo faccio su altre, fila tutto liscio.

Ciao, Mario