FreeAndNil(Query) вызывает исключение доступа к памяти... Хотя вчера вечером FreeAndNil(Query) работало без исключений, но и память не освобождало. Ничего не пойму.
Вот вчерашний вариант функции, который сегодня вызывает исключение:
- Код: Выделить всё
- function get_value_from_bd (table : integer; id : string; pole : string) : string;
 var query : TZReadOnlyQuery; s1,s2 : string;
 begin
 if id='' then id:='0';
 
 query:=TZReadOnlyQuery.Create(application);
 
 
 query.Connection:=DataModule1.ZConnection1;
 
 
 query.SQL.Clear;
 query.SQL.Add('SELECT s_tables.`table`, s_tables.id_table FROM s_tables WHERE s_tables.id_s_tables = '+inttostr(table));
 query.Open;
 s1:=query.FieldByName('table').AsString;
 s2:=query.FieldByName('id_table').AsString;
 query.Close;
 
 query.SQL.Clear;
 query.SQL.Add('SELECT '+s1+'.'+pole+' FROM '+s1+' WHERE '+s1+'.'+s2+' = '+id);
 query.Open;
 
 get_value_from_bd:=query.FieldByName(pole).AsString;
 
 query.Close;
 
 
 
 Query.Active:= false;
 FreeAndNil(Query);
 
 end;
 
с просто query.free работает, но тоже не освобождает память...
Дополнение.
В этом же модуле есть другая ф-я, которая создает заранее подготовленную форму (из автосоздания убрана) и также создает TZQuery как и выше описано. что форму, что query удаляю FreeAndNil("имя переменной"). Так вот в этой ф-ии все работает без исключений, но опять же не освобождается память.
Добавлено спустя 39 минут 39 секунд:OberonAR писал(а):с просто query.free работает, но тоже не освобождает память...
не, не работает, на любую попытку free ошибка доступа. Блин, ну вчера же работало без исключений. Ничего не понимяю 
