* * * *

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, 12:20:23 pm

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

395 Visitatori, 0 Utenti

Autore Topic: Errore in chiusura: Operation cannot be performed on an active transaction  (Letto 4560 volte)

Take It Easy

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Salve ragazzi.. vi ringrazio in anticipo per l'aiuto che mi darete!! ;)

Ho realizzato una semplice applicazione di test, più precisamente ho provato ad
interagire con una tabella su un db MySQL, e tutto funziona correttamente, se non che non capisco perchè alla chiusura della form esce questo errore:

"SQLTransaction: Operation cannot be performed on an active transaction"

Il  fatto è che l'errore viene visualizzato anche se eseguo solamente una SELECT, appunto alla chiusura della form.

Perchè quest'errore? Ometto qualche passaggio per la chiusura della connessione?
Mamma miiia commmme stò!!

Fabio

  • Full Member
  • ***
  • Post: 106
  • Karma: +0/-0
Re:Errore in chiusura: Operation cannot be performed on an active transaction
« Risposta #1 il: Aprile 19, 2012, 08:19:26 pm »
Fai un passo-passo e dicci/posta a che riga o a che set di istruzioni si blocca.
Così senza indicazioni è un po' dura aiutarti a mio avviso.

Ciao.

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:Errore in chiusura: Operation cannot be performed on an active transaction
« Risposta #2 il: Aprile 19, 2012, 09:43:23 pm »
Ciao Easy,
 in effetti come segnala Fabio, le ipotesi possono essere molte sulla causa.
Se esegui una query in chiusura e la transazione si incastra non mi sembra una cosa molto strana.
Hai provato a non chiudere la transazione prima che venga eseguita la query?
In effetti l'errore potrebbe essere una stringa messa dentro il componente transazione, non un errore si MySql ...
Codice: [Seleziona]
Procedure TDBTransaction.CheckInActive;
begin
  If FActive Then
    DatabaseError(STransActive,Self);
end;
Questa è la riga che scatena l'eccezione.
Il controllo sulla transazione viene fatto parecchie volte ...

Magari è proprio la query in chiusura che ti fa saltare il banco :D
« Ultima modifica: Aprile 19, 2012, 09:51:21 pm da Stilgar »
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Take It Easy

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Errore in chiusura: Operation cannot be performed on an active transaction
« Risposta #3 il: Aprile 20, 2012, 07:49:08 am »
Non ho specificato il "momento" in cui si verifica l'errore perché questo accade dopo la chiusura dell'intero applicativo!!  :-[

..e solo in fase di sviluppo, cioè lanciando il RUN dall'IDE di Lazarus.. se chiuso l'IDE lancio il ".EXE" questo funziona correttamente.

Devo aggiungere che è la prima volta che uso il componente TMySQL50Connection, combinato con TSQLQuery e TSQLTransaction.. fino ad ora avevo utilizzato/lavorato con il connettore per SQLite (trovandomi benissimo!)

Heeeeeelp!!!  :'(
Mamma miiia commmme stò!!

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2382
  • Karma: +10/-0
Re:Errore in chiusura: Operation cannot be performed on an active transaction
« Risposta #4 il: Aprile 20, 2012, 09:41:36 am »
Prova a pubblicare sul forum i sorgenti.
Con il lanternino è difficile aiutarti ...
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2870
  • Karma: +20/-4
Re:Errore in chiusura: Operation cannot be performed on an active transaction
« Risposta #5 il: Aprile 20, 2012, 09:46:47 am »
ci sono diverse cose che non si possono fare a transazione aperta

una prova che puoi fare è di mettere un breakpoint in ogni evento che ha a che fare con connessione, transazione e query (spero tu non ne abbia molti).
Sicuramente alla chiusura viene eseguito qualcosa che non va, così almeno riusciamo a capire cosa.

In alternativa, Stilgar ha ragione così è complicato, potresti postare i sorgenti
Imagination is more important than knowledge (A.Einstein)

Take It Easy

  • Newbie
  • *
  • Post: 37
  • Karma: +0/-0
Re:Errore in chiusura: Operation cannot be performed on an active transaction
« Risposta #6 il: Aprile 20, 2012, 10:13:42 am »
..non perdete le nuove puntate di "Mistero"  8)

Ho appena provato a rilanciare l'applicativo per individuare il momento dell'errore e UDITE UDITE!! è tornato tutto alla normalità!!!  :o

senza nessuna modifica al codice di ieri sera.. semplicemente spegnendo e riavviando il PC!! Mistero della fede..

Come direbbe l'agente Wubber "tutto è bene quel che finisce bene"

Grazie a tutti per l'attenzione prestatami.. anche se il modo in cui si è risolta la cosa non mi ha convinto per niente!!  ???
Mamma miiia commmme stò!!

 

Recenti

How To

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

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.