при попытке библиотеки DDEML вызвать
Это, естественно, вызовет
NullPointerException при попытке библиотеки DDEML вызвать функцию обратного вызова. Поэтому вызов функции
DdeInitialize следующего вида нежелателен:
// Регистрация в библиотеке DDEML
DDEML.DdeInitialize(ref idInst, new DDECallBackDelegate(DDECallBack), 0, 0);
Забегая вперед, отмечу, что для отображения необходимых функций и констант библиотеки DDEML в компоненте
ExcelDDEHotConnection служит класс DDEML.
Ниже приведен список остальных функций для работы с DDE:
Делегат функции обратного вызова:
internal delegate IntPtr DDECallBackDelegate(
uint wType, //Код транзакции
uint wFmt, // Формат данных
IntPtr hConv, // Идентификатор канала
IntPtr hsz1, // Идентификатор строки (в нашем случае, строки раздела)
IntPtr hsz2, // Идентификатор строки (в нашем случае, элемента данных)
IntPtr hData, // Идентификатор глобальной области данных, где находятся данные
uint dwData1, // Дополнительный параметр (В нашей работе не рассматривается)
uint dwData2 // Дополнительный параметр (В нашей работе не рассматривается)
);
Отображение функции
DdeInitialize:
[DllImport("user32.dll", EntryPoint="DdeInitialize", CharSet=CharSet.Ansi)]
internal static extern uint DdeInitialize(
ref uint pidInst, DDECallBackDelegate pfnCallback, uint afCmd,uint ulRes);
Отображение функции
DdeUninitialize:
[DllImport("user32.dll", EntryPoint="DdeUninitialize", CharSet=CharSet.Ansi)]
internal static extern bool DdeUninitialize(uint idInst);
Отображение функции
DdeCreateStringHandle:
[DllImport("user32.dll", EntryPoint="DdeCreateStringHandle", CharSet=CharSet.Ansi)]
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий