* * * *

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 25, 2024, 11:14:28 pm

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

372 Visitatori, 0 Utenti

Autore Topic: [RISOLTO] TForms: Problemi con Alt + Tab  (Letto 18165 volte)

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
[RISOLTO] TForms: Problemi con Alt + Tab
« il: Settembre 04, 2012, 12:02:13 am »
Un saluto a tutto il forum. Volevo chiedervi se qualcuno di voi ha modo di verificare la presenza di problemi utilizzando Alt + Tab per passare da una form all'altra dello stesso programma scritto con Lazarus.

In pratica, passando da una form all'altra con Alt+Tab e ritornando poi sempre con Alt+Tab alla form originaria noto che:
-Se il focus era su un DbEdit, le modifiche apportate sul campo vengono perse;
-Le DbGrid presentano problemi (le celle non sono più bordate di rosso e presentano problemi al momento dell'inserimento, ogni carattere inserito si mangia l'altro, così che risulta problematico inserire testo nelle celle).

Questo almeno con Linux con le GTK2.

Se invece mi sposto tra le forms usando il mouse e la TaskBar tutto funziona perfettamente.

Anche se mi sposto con Alt+Tab tra applicazioni diverse (non tra le form di uno stesso programma) non ci sono problemi.

Inizialmente avevo "attribuito" il problema alla DbGrid, ma invece credo che dipenda da TForms, perché sembra proprio che l'Alt+Tab inneschi qualcosa che poi crea i problemi descritti.

Anche mettendo ShowInTaskBar = stNever, la semplice pressione di Alt+Tab, che in questo caso porta sulla MainForm, è sufficiente a generare il problema.

Il problema è per quanto mi riguarda molto grave e mi costringe a rimanere ancora alla versione 0.9.28.2 di Lazarus che funziona egregiamente.

Tutte le versioni successive presentano questo problema, troppo grave per applicazioni complesse che richiedono continuamente di spostarsi da una form all'altra: la 0.9.30, la 0.9.30.2, la 0.9.30.4 ed anche la nuovissima 1.0 presentano tutte il fastidioso problema.

Ho anche segnalato il problema sul bugtracker ufficiale, ma senza ricevere ancora alcun riscontro:
http://bugs.freepascal.org/view.php?id=22475

Se qualcuno avesse modo di verificare il problema, o magari qualche consiglio per poterlo in qualche modo bypassare... ne sarei estremamente grato.

Trovo penalizzante dovere rimanere su una versione di Lazarus vecchia ormai di tre anni... oppure di utilizzare versioni diversa a seconda del Widget/S.O. su cui devo compilare.

Qualcun altro si è imbattuto nello stesso problema?

Grazie infinite per qualsiasi consiglio.

Buona serata a tutti,

Stefano
« Ultima modifica: Settembre 25, 2013, 11:48:29 am da CortelliStefano »

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:TForms: Problemi con Alt + Tab
« Risposta #1 il: Settembre 04, 2012, 09:34:54 am »
ciao, ora non riesco a fare delle prove ma potresti provare con l'evento OnDeactivate della form.
Ad esempio, nel caso del DbEdit, potresti spostare il focus ad un altro controllo e poi ripristinarlo nel DbEdit.
So che è una pezza ma intanto potrebbe dare qualche risposta.

ciao
Imagination is more important than knowledge (A.Einstein)

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #2 il: Settembre 04, 2012, 10:23:46 am »
Ciao e prima di tutto grazie per la risposta.

Per quello che riguarda il DbEdit la tua soluzione è sicuramente valida, magari anziché spostare il focus bastarebbe fare un post:

Codice: [Seleziona]
if (MyDataSet.State in [dsEdit, dsInsert]) then MyDataSet.Post; 

Con una piccola implementazione su tutti i moduli il problema del DbEdit verrebbe bypassato in maniera eccellente.

Il problema più grave si verifica tuttavia con la DbGrid, e qui non riesco proprio a venirne a capo, perché il problema si verifica anche se al momento dell'Alt+Tab l'utente non è sulla griglia (ovviamente si rende conto del problema quando prova a digitare qualcosa sulla griglia).

Hai qualche idea per riuscire in qualche modo a bypassare il problema con la DbGrid?

Ancora grazie e buona giornata,

Stefano

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:TForms: Problemi con Alt + Tab
« Risposta #3 il: Settembre 04, 2012, 11:37:10 am »
ciao Stefano,
dalla descrizine che fai è come se i controlli non avessero coscienza che l'input da parte dell'utente sia terminato. E' per questo che un post sistema: forza ai datacontrols il termine della fase di input.

Volendo utilizzare la soluzione del post, potresti implementare un metodo "PostAllTables" direttamente nel datamodule.
In questo modo se si rendono necessari post su più tabelle con un'unica chiamata a DataModule.PostAllTables hai sistemato tutte le tabelle necessarie e, di riflesso, tutti i datacontrol collegati.

Potrebbe anche essere una soluzione al problema della grid; non sono però sicuro che, quando l'utente tornerà alla finestra, si troverà davanti a quello che si aspetta (magari il cursore s'è spostato o no si è più sulla stessa colonna e poi, è possibile impostare a true  l'autoedit?).

Secondo me se il cambio focus funziona, soprattutto per le griglie, si tratta di un intervento preferibile in quanto meno invasivo.
Potresi anche provare ad abbinare il cambio focus con un Invalidate, al rientro (OnActivate), del controllo con il focus.

Se dovesse funzionare, questo potrebbe essere un comportamento da codificare in un form da cui tutte le form del progetto ereditano al posto di TForm.

Edit:
facci sapere come risolvi che la cosa sarà utile a molti :)
ciao
nomorelogic
« Ultima modifica: Settembre 04, 2012, 11:39:57 am da nomorelogic »
Imagination is more important than knowledge (A.Einstein)

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #4 il: Settembre 04, 2012, 12:34:33 pm »
Grazie ancora della risposta. Il problema è che con la DbGrid né il Focus né il Post risolvono il problema.

Addirittura con la DbGrid il problema si verifica anche se l'utente non è sulla griglia al momento dell'Alt+Tab (ed il focus è quindi su un altro campo), appena l'utente va sulla griglia il problema purtroppo si presenta e finora non sono ancora riuscito in nessun modo a trovare un modo per bypassarlo.

La cosa strana è che con la 1.0 (e qui mi sembra esserci forse una differenza rispetto alla 0.9.30.X) quando si ritorna sulla form con Alt+Tab la prima cella su cui ci si posiziona sembrerebbe funzionare correttamente, poi all'uscita della cella la griglia perde il bordo rosso ed il problema si presenta fintanto che non mi sposto con il mouse sulla TaskBar e cambio ancora form e ritorno sempre con la TaskBar, allora la griglia sembra ritornare a funzionare.

Quando si verifica il problema, anche cliccando con il mouse sulla cella, questa non prende il bordo rosso.

Ho fatto una serie di tentativi, soprattutto sull'evento Activate, senza successo.

Lo stesso codice che utilizzo per selezionare una finestra (e che funziona correttamente):

Codice: [Seleziona]
  Application.ProcessMessages;
  with Sender as TMenuItem do begin
    if (Screen.FormCount < 1) then exit;
    for k := (Screen.FormCount - 1) downto 0 do begin
      if Trim(Screen.Forms[k].Caption) = Trim(Caption) then begin
        try
          if (MyOs <> 0) then Screen.Forms[k].Show; 
          Screen.Forms[k].WindowState := wsNormal;
          Screen.Forms[k].SetFocus;
        finally
        end;
      end;
    end;
  end;

se copiato (nelle istruzioni necessarie) nell'evento Activate (ossia se setto il WindowsState ed SetFocus sulla form nell'evento Activate), il problema rimane. È solo con l'Alt+Tab che si verifica il problema, e non al momento di lasciare la form, ma solo al momento di ritornarci (se mi sposto con la TaskBar e ritorno con Alt+Tab il problema rimane, mentre se mi sposto con Alt+Tab e torno con la TaskBar no).

Hai qualche suggerimento da tentare con la DbGrid per bypassare in qualche modo il problema?

Ancora grazie per l'aiuto.

Buona giornata a tutti,

Stefano

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:TForms: Problemi con Alt + Tab
« Risposta #5 il: Settembre 04, 2012, 01:43:07 pm »
il problema è quindi relativo ai 2 diversi modi di tornare nel form
bisognerebbe sapere cosa (caspita) c'è di diverso nelle 2 modalità...

hai provato con
Codice: [Seleziona]
DbGrid1.EndUpdate(TRUE);
messo in OnDeactivate del form ad esempio?

Imagination is more important than knowledge (A.Einstein)

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #6 il: Settembre 04, 2012, 02:13:31 pm »
Sì, il problema sembra proprio relativo al come ci si sposta tra le foms, e solo ritornando sulla form con Alt+Tab si verifica. Per questo pensavo che fosse un bug di TForms.

Citazione
hai provato con

DbGrid1.EndUpdate(TRUE);

Ho provato velocemente, a la griglia perde la visualizzazione, rimane la scrollbar verticale, ma senza le celle visualizzate.

Magari riprovo a fare qualche tentativo in più, ho anche provato a fare un DisabledControl e poi l'EnabledControl sul Deactivate, senza risolvere nulla.

Se hai qualche consiglio, anche tenativi da poter fare, ti ringrazio davvero molto, perché non riesco a venirne a capo (ed è la quarta versione consecutiva di Lazarus con lo stesso problema... solo che inizialmente pensavo riguardasse solo la DbGrid, ed avevo segnalato il bug http://bugs.freepascal.org/view.php?id=19993, ma adesso direi che invece sia un problema (anche) di TForms).

Ciao e ancora grazie,

Stefano

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:TForms: Problemi con Alt + Tab
« Risposta #7 il: Settembre 04, 2012, 03:10:21 pm »
visto che hai più versioni di lazarus tra le mani...
Potresti comparare i sorgenti di TCustomForm tra la versione funzionante e quella che non va, magari sul metodo OnActivate ci sono delle differenze.
Se così non fosse bisognerebbe andare all'indietro nella gerarchia: se dipende dalla versione di lazarus da qualche parte una difference ci dovrà pur essere.
So che non è una cosa facile e ci vuole tempo ma se alla tua segnalazione non risponde nessuno...

ciao
Imagination is more important than knowledge (A.Einstein)

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #8 il: Settembre 05, 2012, 03:44:22 pm »
Grazie della risposta, al momento ho provato a postare il problema nel forum ufficiale:
http://lazarus.freepascal.org/index.php/topic,18085.0.html

Spero che qualcuno possa darmi una mano.

Nel frattempo ho identificato meglio il problema, che probabilmente va a sommarsi ad alcuni problemi della DbGrid, sempre dalla versione 0.9.30.

In pratica:
-a) La DbGrid perde il focus quando dalla griglia ci si muove nel dataset (pure con i controlli disabilitati), ad esempio per aggiornare i totali;
-b) Per bypassare questo problema avevo aggiunto un SetFocus nell'evento KeyDown in caso di tasti di spostamento;
-c) Questo SetFocus, a prescindere dallo spostarsi o meno nel dataset, crea problemi con l'Alt+Tab;
-d) Se tolgo il SetFocus si risovono i problemi con l'Alt+Tab se non ci si sposta nel dataset;
-e) Anche senza il SetFocus comunque, in caso di navigazione nel dataset (p.es. per calcolo totali), il problema con Alt+Tab si ripropone;
-f) Il problema sembra riguardare i campi Currency: se dopo l'Alt+Tab si va su un campo testo, sembra funzionare fintanto che non ci si posiziona su un campo Currency dove compare il problema e, una volta comparso, rimane anche sui campi di testo;
-g) Il problema sembra risolversi spostandosi di form con la TaskBar e ritornando sempre con la TaskBar.

Qualcuno ha modo di riscontrare il problema e capire se riguarda solo Linux con le GTK2 o più in generali tutte le situazioni?

Con Lazarus 0.9.28.2 funzionava tutto perfettamente che era una meraviglia...

Nel frattempo una soluzione per bypassare il problema sembra essere:
-Fare un Post al Deactivate, oppure spostare il focus (e magari memorizzare il campo, da reimpostare come Self.ActiveControl all'Activate) per risolvere i problemi dei DbEdit;
-Per la DbGrid, spostare tutti i codici che implicano lo spostarsi tra i record del dataset attivati nell'evento KeyDown: questo può essere fatto utilizzando gli eventi del DataSet (p.es. AfterPost), memorizzando i dati da utilizzare (al bisogno) nell'evento KeyDown, p.es. per visualizzare a richiesta un totale, in modo da non dovere mai navigare nel dataset dal KeyDown.

Per il momento altre soluzioni non ne vedo.

Nel forum ufficiale ho anche postato un progetto test di esempio, che tuttavia richiede Firebird (anche se potrebbe essere facilmente adattato ad altre basi dati).

Ogni aiuto o impressione al riguardo è chiaramente sempre bene accetto.

Un saluto a tutto il forum,

Stefano
« Ultima modifica: Settembre 05, 2012, 11:25:22 pm da CortelliStefano »

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #9 il: Settembre 10, 2012, 11:06:22 am »
Ciao Stefano,
 dal tuo post sembra che il currency venga gestito in "malo modo".
Hai provato a cambiare il formato del dato in "double" ... o in ogni caso in virgola mobile (impostando a 4 i numeri decimali come precisione).
Se è veramente il currency e non la virgola mobile (il testo non ha virgola, quindi non possiamo escludere i dati numerici a priori), dovrebbe essere un work around accettabile. In ogni caso oltre la quarta cifra decimale non fanno menneno transazioni internazionali ;) Quindi sei abbondantemente sopra le richieste minime di sistema .... :D
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #10 il: Settembre 11, 2012, 12:11:39 am »
Ciao Stilgar,

e prima di tutto grazie della rispota. Ho provato a modificare la gestione del dato da Currency a Double, settando nella procedura di calcolo totali la variabile C come Double e leggendo il campo come .AsFloat anziché come .AsCurrency, ma il problema rimane identico.

Il campo, sul database, è di tipo Numeric (18,2) e gli oggetti Fields sono già di tipo TFloatField qualora impostati a design-time (FBDataSet gestisce di default i campi Currency a design time sempre come TFloatField).

Nel progetto di test per questione di rapidità non ho creato campi a design time sul file LFM, ma il problema rimane comunque identico.

Per ora l'unica soluzione che ho trovato è stata quella di evitare di navigare nel dataset nell'evento KeyDown. Anche se, da quanto sto verificando, il problema sembrerebbe verificarsi sempre con i tasti di spostamento (freccia su, freccia giu, ecc.), mentre premendo un tasto funzione che calcola il totale il problema sembrerebbe non verificarsi.

È vero che il più delle volte tutte queste operazioni che richiedono la navigazione si gestiscono nel Before/AfterPost, ma talvolta può essere anche necessario/utile navigare nel dataset dal KeyDown.

Ho visto con piacere che da pochi giorni i bug che ho segnalato sul bugtracker sono stati passati ad "assigned"... Quindi incrociamo le dita...  :)

Nel frattempo cercherò sicuramente di adattare il codice per bypassare il problema, ma resto scettico ad abbandonare la 0.9.28.2, che finora ha sempre funzionato molto bene, per la 1.0, che presenta sicuramente molte novità, ma da quanto pare offre anche meno stabilità...

Per il tipo di applicazioni che sviluppo la prima priorità è la stabilità, l'upgrade alla versione corrente di Lazarus mi sarebbe peraltro utile soprattutto sotto Mac dove la 0.9.28.2 presenta qualche problema di più rispetto alle versioni per Linux/Windows, e soprattutto l'uscita di Mountain Lion che non supporta più l'interfaccia Carbon (predefinita Lazarus per Mac) sta creando qualche problema e preferirei utilizzare la stessa versione di Lazarus per tutti i sistemi operativi, se possibile.

Se hai qualche altro consiglio, o tentativo da fare, è sicuramente bene accetto...  ;)

Ancora grazie e buona serata, un saluto a tutto il forum,

Stefano

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #11 il: Settembre 11, 2012, 10:06:07 am »
A questo punto rimane da giocare la carte dell'inviarsi i "tasti" via software... cerca un'implementazione di sendKey che sia completa....
In questo modo puoi mandare alle form tutte le sequanze di caratteri (simulando la tastiera) che ti servono....
Più work around di questo ... ;)
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #12 il: Settembre 13, 2012, 12:04:06 pm »
Ciao e grazie della risposta. Direi di riuscire a risolvere spostando il codice nell'AfterPost ove possibile, o comunque evitando di navigare nella DbGrid nell'evento KeyDown.

Con qualche cambiamento di codice mi sembra una soluzione tutto sommato praticabile, insieme a quella dell'evento Deactivate per quanto riguarda il DbEdit.

Dagli ultimi test sembra anche che il problema nel KeyDown della griglia si verifica solo quando si gestiscono freccie o tasti di spostamento, mentre i tasti funzione sembrerebbero non creare problemi.

Questa mattina ho però scoperto la "chicca" finale: anche senza navigare nel dataset dall'evento KeyDown della DbGrid, spostandosi dalla form principale del progetto alla form con la DbGrid con Alt+Tab, il problema si verifica sempre e comunque, dulcius in fundo anche con campi non Currency e quindi anche StringField.

Hai qualche idea per riuscire a disabilitare l'Alt+Tab dalla form principale (in cui c'è solo il menu, per cui potrei settare anche KeyPreview a True), in modo da bypassare il problema?

Purtroppo con gli eventi KeyDown non sembra possibile, e vorrei evitare l'utilizzo di API per non complicare a dismisura la portabilità del codice che è per me essenziale.

Ho già aggiunto una nota nel bugtracker ufficiale, ed allego anche qui il progetto di test (che si appoggia ad un Db Firebird e richiede  le SQLDB o le UIB/FbDataSet, ma che potrebbe essere facilmente adattato a qualsiasi altra base dati).

Qualcuno ha voglia di provare a riprodurre il problema, per vedere se riguarda anche altri Widgset o altri S.O.?

Mi sembra impossibile che un  bug così grave sia rimasto per 4 versioni successive... Non credo che sia così strano spostarsi con Alt+Tab... Per questo non riesco a capire se riguarda solo le GTK2/Linux o in generale tutte le piattaforme.

Grazie e buona giornata a tutti,

Stefano

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #13 il: Settembre 23, 2012, 07:44:25 pm »
Un saluto a tutti, nel frattempo ho aggiornato il programma di test sul bugtracker, semplificando il più possibile il codice, commentando quanto non serve per riprodurre il problema ed unendo in un unico progetto i vari problemi riscontrati dalla versione 0.9.30 e tuttora rimasti nella 1.0.

A chi dovesse interessare, il (semplice) progetto riguarda i bugs 0019993 e 0022475.

Il progetto utilizza un database Firebird con le UIB/FBDataSet, ma per la sua semplicità potrebbe essere facilmente adattato a qualsiasi altra base dati.

Ho anche realizzato un brevissimo video in formato AVI (meno di un minuto) che evidenzia i problemi e che è temporaneamente disponibile a questo link:
http://www.studiocortelli.com/index.php?mod=28_Download&downloadfile=Software/ForExperts_Lazarus_TestDbGrid_20120923_Video.avi&mode=go

Qualcuno ha voglia di riprodurre il problema per vedere se ci sono eventualmente altre anomalie da segnalare e soprattutto per verificare quali sono i widgetset che presentano il problema?

Attualmente ho potuto verificare solamente con Linux e GTK2.

Buona serata a tutto il forum,

Stefano

CortelliStefano

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:TForms: Problemi con Alt + Tab
« Risposta #14 il: Aprile 15, 2013, 07:44:33 pm »
Un saluto a tutti. Ho constatato che il problema persiste ancora anche con la nuova versione 1.0.8 di Lazarus, del resto il bug rimane in effetti ancora in stato "assigned":
http://bugs.freepascal.org/view.php?id=22475

Poiché questo mi costringe a rimanere sotto Linux/GTK2 alla versione 0.9.28.2 di Lazarus -  ormai sono due anni ed 8 releases di Lazarus in cui il problema persiste - volevo sapere se qualcuno aveva trovato qualche soluzione per bypassare in qualche modo il problema sotto Linux.

C'è qualcuno che compila sotto Linux/GTK2 ed ha trovato il modo in qualche modo di venirne a capo?

Ho provato ad intervenire negli eventi Activate e Deactivate, ma senza successo, intercettare il tasto Tab con il KeyDown non è possibile in quanto gestito prima dal sistema operativo.

Non c'è nessuno con il mio stesso problema?

L'unica sarebbe compilare con le QT, ho fatto un test piuttosto approfondito l'anno scorso con la versione 1di Lazarus, incontrando però ben 17 bachi di Lazarus, soprattutto con la DbGrid, alcuni potenzialmente molto pericolosi, in quanto uno di questi bachi p.es. al Post sposta talvolta il dataset al primo record (devo disassociare la griglia al datasource prima del post e poi riassociarla  >:( ).

Anche se alla fine con le QT questi bachi dovrei averli bypassati tutti, vista la situazione "a rischio" vorrei comunque attendere che Lazarus con le QT maturi un po'.

Il baco dell'Alt+Tab con le GTK2 non riesco invece a bypassarlo in nessun modo.

Grazie per qualsiasi suggerimento, buona serata a tutti,

Stefano
« Ultima modifica: Aprile 15, 2013, 07:46:25 pm da CortelliStefano »

 

Recenti

How To

Utenti
Stats
  • Post in totale: 18772
  • Topic in totale: 2233
  • Online Today: 643
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 0
Guests: 372
Total: 372

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.