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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.11.2006, 21:47   #1  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
? ChangeDisplaySettings
Всем доброго времени суток!
Собственно проблемка в том что функция EnumDisplaySettings упорно не желает заполнять передаваемую структуру
Если есть какие либо идеи буду признателен.

Код:
client static str ChangeDisplaySettings()
{
    DLL             DLL;
    DLLFunction     DLLFunction;
    Binary          DEVMODE                 = WinApi::NewDEVMODE();
    str             st;
    ;

    DLL = new DLL(#UserDLL);
    DLLFunction = new DLLFunction(DLL, 'ChangeDisplaySettingsA');

    DLLFunction.returns(ExtTypes::DWord);
    DLLFunction.arg(ExtTypes::DWord,
                    ExtTypes::DWord);

    DEVMODE = WinApi::EnumDisplaySettings();

    DEVMODE.dWord(46, 32);
    DEVMODE.dWord(50, 1024);
    DEVMODE.dWord(54, 768);

    st = strfmt( '%1', DLLFunction.call( DEVMODE, #CDS_TEST ) );
    return st;
}
Код:
client static Binary EnumDisplaySettings ()
{
    DLL             DLL;
    DLLFunction     DLLFunction;
    Binary          DEVMODE      = WinApi::NewDEVMODE();
    ;

    DLL = new DLL(#UserDLL);
    DLLFunction = new DLLFunction(DLL, 'EnumDisplaySettingsA');

    DLLFunction.returns(ExtTypes::DWord);
    DLLFunction.arg(ExtTypes::String,
                    ExtTypes::DWord,
                    ExtTypes::Pointer);


    DLLFunction.call( 0, 0, DEVMODE);
    return DEVMODE;
}
Код:
#define.SizeOfStruct        (94)

static Binary NewDEVMODE()
{
    Binary          DEVMODE      = new Binary(#SizeOfStruct);
;
    DEVMODE.dWord   (0, 94); // Specifies the size, in bytes, of the structure
    DEVMODE.string  ( 4 );  //dmDeviceName
    DEVMODE.word    ( 6 );  //dmSpecVersion
    DEVMODE.word    ( 8 );  //dmDriverVersion
    DEVMODE.word    ( 10 ); //dmSize
    DEVMODE.word    ( 12 ); //dmDriverExtra
    DEVMODE.dWord   ( 20 ); //dmFields

    DEVMODE.word    ( 22 ); //dmScale
    DEVMODE.word    ( 24 ); //dmCopies
    DEVMODE.word    ( 26 ); //dmDefaultSource
    DEVMODE.word    ( 28 ); //dmPrintQuality
    DEVMODE.word    ( 30 ); //dmColor
    DEVMODE.word    ( 32 ); //dmDuplex
    DEVMODE.word    ( 34 ); //dmYResolution
    DEVMODE.word    ( 36 ); //dmTTOption
    DEVMODE.word    ( 38 ); //dmCollate

    DEVMODE.string  ( 42 ); //dmFormName
    DEVMODE.word    ( 44 ); //dmUnusedPadding
    DEVMODE.word    ( 46 ); //dmBitsPerPel
    DEVMODE.dWord   ( 50 ); //dmPelsWidth
    DEVMODE.dWord   ( 54 ); //dmPelsHeight

    DEVMODE.dWord   ( 58 ); //dmDisplayFrequency
    DEVMODE.dWord   ( 62 ); //dmICMMethod
    DEVMODE.dWord   ( 66 ); //dmICMIntent
    DEVMODE.dWord   ( 70 ); //dmMediaType
    DEVMODE.dWord   ( 74 ); //dmDitherType
    DEVMODE.dWord   ( 78 ); //dmReserved1
    DEVMODE.dWord   ( 82 ); //dmReserved2
    DEVMODE.dWord   ( 86 ); //dmPanningWidth
    DEVMODE.dWord   ( 90 ); //dmPanningHeight

    return DEVMODE;
}
 


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

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

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