Speicherprobleme mit TMySQLQuery-Komponente



  • Hallo!

    Ich habe ein Problem mit der TMySQLQuery-Komponente von MySQLDAC
    (Version 2.2.2). Nach dem Ausführen der Methode Open() oder ExecSQL()
    (siehe Code-Beispiel) wird der für die Anfrage benutzte Speicher nicht
    wieder freigegeben. Auch das Zerstören der Query hilft nicht.

    AnsiString __fastcall TDataModule1::Query(AnsiString sqlQuery, bool hasRetValue)
    {
    	AnsiString retValue;
    
    	try
    	{
                    query = new TmySQLQuery(NULL);
                    query->Database = mySQLDatabase1;
                    query->Close();
    	       query->SQL->Clear();
    	       query->SQL->Add(sqlQuery);
    
    	       if (hasRetValue) query->Open();
    	       else query->ExecSQL();
    
                    retValue = query->FieldByName("value")->AsString;
    
                    query->Close();
    
                    if (query) delete query;
    
    	}
    	catch (EmySQLException& E)
    	{
    	       return DB_ERROR;
    	}
    
    	return retValue;
    }
    

    Da ich die Methode Query (s.o.) in meiner Anwendung sehr oft aufrufe steigt der Speicherverbrauch kontinuierlich an.


Anmelden zum Antworten