AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.10.2009, 14:45   #1  
zemius is offline
zemius
Участник
 
11 / 10 (1) +
Регистрация: 19.08.2009
Адрес: Москва
Кто пользовал WinApi::fileSetTime
Не работает сабж.. Думаю дело в преобразовании в binary я пробовал так:

X++:
    binary  A;
    int       TimeCreate = timeNow();
    A   = new binary(TimeCreate);
и так:

X++:
    A.dWord(0,TimeCreate);
Возвращает false..
__________________
Это магия
Старый 23.10.2009, 14:49   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
посмотрите метод fileTimeToSystemTime класса WniApi, может чем то поможет
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 23.10.2009, 17:31   #3  
zemius is offline
zemius
Участник
 
11 / 10 (1) +
Регистрация: 19.08.2009
Адрес: Москва
Не помогло!
Пробовал так:

X++:
    A = new Binary(16);
    A.dWord(0, timeNow());
    B = new Binary(16);
    B.dWord(0, timeNow());
    C = new Binary(16);
    C.dWord(0, timeNow());

winApi::setFileTime(iFileHandel, A, B, C)
__________________
Это магия
Старый 23.10.2009, 18:04   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от zemius Посмотреть сообщение
Не помогло!
...
[/XPP]
Вот нашел пример.... в классе WinApi нашел метод setFileTime:
X++:
client server static boolean setFileTime(int hFile, Binary create, Binary access, Binary modified)
{
    DLL         _winApiDLL      = new DLL('KERNEL32');
    DLLFunction _setFileTime    = new DLLFunction(_winApiDLL, 'SetFileTime');

    _setFileTime.returns(ExtTypes::DWord);
    _setFileTime.arg(ExtTypes::DWord);
    _setFileTime.arg(ExtTypes::Pointer);
    _setFileTime.arg(ExtTypes::Pointer);
    _setFileTime.arg(ExtTypes::Pointer);

    if (_setFileTime.call(hFile, create, access, modified))
    {
        return true;
    }
    return false;
}
и вот как этот метод вызывается из того же класса WinApi:
X++:
#winapi
client static boolean setFileTimeServer2Client(Filename serverFile, Filename clientFile)
{
    int serverhFile = WinAPI::createFileServer(serverFile, #OPEN_EXISTING);
    int clienthFile;
    Binary createdServer, accessedServer, modifiedServer;
    Binary createdClient  = new Binary(#Offset8);
    Binary accessedClient = new Binary(#Offset8);
    Binary modifiedClient = new Binary(#Offset8);
    boolean ret = false;

    if (serverhFile)
    {
        createdServer  = WinAPI::getFileTimeServer(serverhFile, 0);
        accessedServer = WinAPI::getFileTimeServer(serverhFile, 1);
        modifiedServer = WinAPI::getFileTimeServer(serverhFile, 2);
        WinAPI::closeHandle(serverhfile);

        if (createdServer && accessedServer && modifiedServer)
        {
            createdClient.dWord(#offset0, createdServer.dWord(#offset0));
            createdClient.dWord(#offset4, createdServer.dWord(#offset4));
            accessedClient.dWord(#offset0, accessedServer.dWord(#offset0));
            accessedClient.dWord(#offset4, accessedServer.dWord(#offset4));
            modifiedClient.dWord(#offset0, modifiedServer.dWord(#offset0));
            modifiedClient.dWord(#offset4, modifiedServer.dWord(#offset4));

            clienthFile = WinAPI::createFile(clientFile, #OPEN_EXISTING, #GENERIC_WRITE);
            if (clientHFile)
            {
                ret = WinAPI::setFileTime(clientHFile, createdClient, accessedClient, modifiedClient); // вот этот вызов
                WinAPI::closeHandle(clienthfile);
            }
        }
    }
    return ret;
}
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Теги
setfiletime, winapi

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Dynamics AX Geek: Finding files with WinAPI Blog bot DAX Blogs 1 08.10.2009 17:36
Axapta WinAPI::SewWindow... кто знает как? UNRW DAX: Программирование 2 26.09.2008 15:28
Dynamics AX Geek: Finding files with WinAPI Blog bot DAX Blogs 0 28.10.2006 16:40
WinAPI::getLastError() DreamCreator DAX: Программирование 4 20.06.2005 10:03
WinApi. Удаление файлов глючит. NJD DAX: Программирование 10 05.12.2003 13:31

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:09.