21.10.2004, 09:12 | #1 |
Участник
|
Значение NULL в Axapta
Требуется вызвать функцию из библиотеки DLL.
Проблема заключается в том, что одним из параметров функции является указатель, который необходимо инициализировать значением NULL. Вопрос: Как задать значение NULL в Axapta? |
|
21.10.2004, 09:53 | #2 |
Moderator
|
Вам нужно задать не NULL, а неинициализированный указатель, так как термин "указатель на NULL" как бы лишен смысла.
Для этого при объявлении функции нужно объявить параметр как Pointer (ExtTypes::Pointer), а при вызове функции (call()) передать туда 0. |
|
21.10.2004, 10:06 | #3 |
Участник
|
Возможно я не совсем точно изложил суть проблемы
Требуется следующее: Binary Rec = new Binary(24); Binary N = new Binary(name); Binary A = new Binary(addr); Rec.Binary(0, N); Rec.Binary(4, A); Rec.dWord(8, 0); Rec.dWord(12,0); //<-- здесь должен быть Null (c++ код: Rec->Value = NULL) Rec.dWord(16, 0); Rec.dWord(20, 1); .... MyDLLFunc.call(0, Rec); Так как написано у меня ( Rec.dWord(12,0) ) не работает Что посоветуете написать вместо этого? |
|
21.10.2004, 10:14 | #4 |
Moderator
|
По идее написано правильно. Уверенный, что ошибка именнов этом ?
Смещения указаны правильно ? Name и addr объявлены как строки фиксированной длины ? |
|
21.10.2004, 10:26 | #5 |
Дмитрий Ерин
|
А структура передается по ссылке?
В смысле, указаны ли у Вас типы передаваемых значений, то есть, что-то типа: PHP код:
|
|
|
|