Если делаю так: Код (Text): FILE_ATTRIBUTE_ARCHIVE equ 32 ... invoke SetFileAttributes,addr wfd.cFileName, FILE_ATTRIBUTE_ARCHIVE то работает, а если так: Код (Text): faarch dd 32 ... invoke SetFileAttributes,addr wfd.cFileName, addr faarch то файлу всегда присвается атрибут "системный"( в свойствах файла в проводнике чекбокс disabled), остальные атрибуты, вроде бы, сбрасываются. Пробовал инициализировать faarch непосредственно перед вызовом функции, та же ботва. Обычно спрашиваю у гугля, но тут не могу запрос сфомулировать. Или я один такой... начинающий. В чем моя ошибка?
Спасибо. Работает. А в справочнике так: Код (Text): BOOL SetFileAttributes( LPCTSTR lpFileName, // address of filename DWORD dwFileAttributes // address of attributes to set ); Это справка из mbuilder. Был бумажный справочник API Win2000, потерялся
Это "очепятка" Во-первых, если бы был адрес, то тип параметра был бы LPDWORD, а не DWORD, да и вариант с передачей константы FILE_ATTRIBUTE_ARCHIVE не работал бы Во-вторых, электронные\бумажные справочники это хорошо, но они имееют нехорошее св-во устаревать, поэтому не мешает хоть иногда заглядывать в "свежий" online msdn, особенно если в чем-то сомневаешься