![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Пустая переменная
DelphiLexx © (2005-12-15 19:08:00)Есть Api-функции в качестве входного параметра имеется переменная var Count: integer, но которая не нужна мне в использования. Но т.к. стоит var, то я обязан передать создать переменную и передать её в качестве параметра, что делать вовсе нехочется. Я знаю в Delphi есть переменная что-то типа tmpVar, которая как раз-то и используется для забивания не нужных параметров.
Плохиш (2005-12-16 10:57:00) [1]
> DelphiLexx © (15.12.05 19:08)
> Есть Api-функции в качестве входного параметра имеется переменная
> var Count: integer, но которая не нужна мнев использования.
Тебе она может и не нужна, а АПИ-функция без неё может и жить не может.
Leonid Troyanovsky (2005-12-16 09:01:00) [2]
> default © (15.12.05 19:45) [6]
> каждый раз заводить переменную(если вызовы данной ф-ии идут
> из приличного числа мест)
Для такого большого дела можно объявить даже (чур меня)
глобальную переменную dwDummy: DWORD.
--
Regards, LVT.
default (2005-12-15 20:02:00) [3]Джо © (15.12.05 19:48) [8]
всё зависит от ситуации и пристрастий программиста
Джо (2005-12-15 19:48:00) [4]Кроме того, всякие PInteger(nil)^ по моему, гораздо хуже загрязняют код, да и понятности ему не добавляют, имхо.
Джо (2005-12-15 19:47:00) [5]
> [6] default © (15.12.05 19:45)
Такова уж "эстетика" программирования чиста на АПИ :)
default (2005-12-15 19:45:00) [6]"что делать вовсе нехочется"
каждый раз заводить переменную(если вызовы данной ф-ии идут из приличного числа мест) занятие не очень приятное да и загромождающее код
Джо (2005-12-15 19:40:00) [7]А какой смысл таких телодвижений, т.е., почему нельзя завести временную переменную?
default (2005-12-15 19:27:00) [8]по поводу второго пути
пример, ф-ия WriteProcessMemory
последний параметр типа var, но строки из хелпа "Points to the actual number of bytes transferred into the specified process. This parameter is optional. If lpNumberOfBytesWritten is NULL, the parameter is ignored. "
дают возможность использовать этот путь
default (2005-12-15 19:18:00) [9]если часто юзается ф-ия в которой меняющихся парметров немного, то можно использовать пути:
писать ф-ию оболочку над исходной ф-ей с урезанным числом параметров;
использовать конструкции типа PInteger(nil)^ , только надо быть уверенным что этот параметр игнорируется, то есть не происходит обращения по указанному адресу;
возможно есть ещё пути
default (2005-12-15 19:17:00) [10]если часто юзается ф-ия в которой меняющихся парметров немного, то можно использовать пути:
писать ф-ию оболочку над исходной ф-ей с урезанным числом параметров;
использовать конструкции типа PInteger(nil)^ , только надо быть уверенным что этот параметр игнорируется, то есть не происходит обращения по указанному адресу;
возможно есть ещё пути
Джо (2005-12-15 19:10:00) [11]
> Я знаю в Delphi есть переменная что-то типа tmpVar,
Откуда дровишки?