|
#1
|
|||
|
|||
Memory Leak
Здравствуйте
EurekaLog говорит что в след функции утечка памяти.... подскажите что не так? Код:
function TSQLiteTable.GetFieldByName(FieldName: string): string; begin Result:=UTF8ToUnicodeString(GetFields(self.GetFieldIndex(FieldName))); end; а когда вот так: Код:
function TSQLiteTable.GetFieldByName(FieldName: string): string; begin Result:=GetFields(self.GetFieldIndex(FieldName)); end; то утечки нет. как сделать чтобы строка конвертировалась но не было утечки? Спасибо. |
#2
|
||||
|
||||
Результат ф-ии getfields прибивать после передачи в функцию UTF8ToUnicodeString.
|
#3
|
|||
|
|||
Скажите пожалуйста, как это правильно сделать, и если можно скажите почему оно само не прибивается?
|
#4
|
||||
|
||||
Код:
function TSQLiteTable.GetFieldByName(FieldName: string): string; var foo: string; begin foo := GetFields(self.GetFieldIndex(FieldName)); Result:=UTF8ToUnicodeString(foo); setlength(foo, 0); end; |
#5
|
|||
|
|||
Спасибо, работает.
|