Вверх ↑
Разработчик
Ответов: 26151
Рейтинг: 2127
#1: 2006-10-16 18:40:25 ЛС | профиль | цитата
Galkov, так я не понял. Исходя из написанного, то желательно оставить Case-Sensitive. Но исходный вариант таким не был, а как пользователи -- поймут, что им имя переменной придется писать точно, а если ошибутся, то расплодят кучу переменных в памяти, а результата не достигнут. Хуже того, будут лопатить прогу на предмет непонятной нечитаемости переменной.
Предлагаю оставить изначальный вариант:
function ForceGVar(const Name:string):PData;
var i:integer;
begin
Result := nil;
if Name=' then exit;
i := NList.IndexOf(LowerCase(Name));
if i>=0 then
Result := PData(NList.Objects[i])
else begin
new(Result);
dtNull(Result^);
NList.AddObject(LowerCase(Name),cardinal(Result));
end;
end;
карма: 22

0