| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > Рекурсивная структура C# |
| Автор: erm0l0v 17.1.2011, 12:42 | ||
Есть код на Delphi, там используется структура
Как создать такую-же структуру на C#, чтобы можно было передать в Delphi? Мне в конечном итоге нужно преобразовать эту структуру в IntPtr. По всей видимости нужно использовать Marshal, правда не совсем понимаю как. |
| Автор: erm0l0v 17.1.2011, 14:24 | ||||||
| Я сделал так: Объявил структуру
А заполняю так:
Но так при заполнении выдает ошибку.
Видимо нужно определить размер данных где то при объявлении IntPtr |
| Автор: Kaerus 17.1.2011, 16:00 |
| Про заполнение: во второй строке ты просто полю DataType присваиваешь пустой IntPrt который указывает на адрес 0x00000000, а затем в 3 строке ты записываешь в память по нулевому адресу - по этому и ошибка записи в зашищенную память P.S. Не понимаю зачем вообще работать со структурами (поля которых хранятся в стеке), когда есть классы |
| Автор: erm0l0v 17.1.2011, 16:20 | ||
проблему решил:
Добавлено через 1 минуту и 50 секунд Не совсем понимаю как в моем примере можно использовать класс. (Доступа к коду на Delphi нет, там по любому будет структура) |