|
|
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
When a movie is over, it's a black Есть DLL, в ней есть функция GetLicenseInfo, возвращающая указатель PLicenseInfo Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Проблема: наш сишарп-программист не может получить эти данные в шарпах. Он объявил в коде нечто вроде Код: c# 1. 2. 3. 4. 5. 6. 7. 8. и не понимает, как ему в шарпах это заполнить, если у него на руках только указатель, который вернула DLL. Киньте пример, если можно, как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 14:50 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
Не по теме, но сильно мне не нравитсяКвейд Код: pascal 1. Я бы объявил так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Иначе от выравнивания можно отгрести КвейдЕсть DLL, в ней есть функция GetLicenseInfo, возвращающая указатель PLicenseInfoПокажи импорт dll на C# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 15:15 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
Гугл посылает в сторону такого импорта Код: c# 1. 2. 3. И вызова метода Marshal.PtrToStructure ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 15:28 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ Код: c# 1. Читать как Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 15:30 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_, среда исполнения - 32 битная Код: c# 1. 2. вот это и есть тип "указателя" в шарпах Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 15:41 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
Квейдвот это и есть тип "указателя" в шарпахНет. У них есть IntPtr ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 15:51 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
Квейднаш сишарп-программист не может получить эти данные в шарпах. Возможно, ему следует сменить язык программирования или профессию. И, раз уж ты у него на побегушках, то лучше идти в загончик для шарпеев , ибо там больше шансов найти такого, который знает как работать с нативными данными. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 17:39 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
Разобрались. Структуру в шарпах объявили с атрибутом, выравнивающим на границу байта Код: c# 1. результат функции GetLicenseInfo объявили как IntPtr, а дальше в шарпах замаршаллили IntPtr к объявленной структуре. Все получилось. Dimitry Sibiryakov, прень новенький, пусть учится ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 17:56 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_Не по теме, но сильно мне не нравитсяКвейд Код: pascal 1. Я бы объявил так Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. Иначе от выравнивания можно отгрести Как раз чтобы не огрести от выравнивания, надо все записи паковать. По сабжу - пусть получает указатель на структуру и читает из него его как из бинарного буфера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 18:04 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
Я не очень знаю C#, но это точно одинаковые типы? Код: pascal 1. Код: c# 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 18:14 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
Если верить этому , то там sbyte должен быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 18:16 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
Квейдпрень новенький, пусть учитсяКвейд, я весь ответ написал ни разу не видев C# и о маршалинге нативных типов узнал при гуглении в процессе поиска ответа. Может ну его такого "программиста" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 18:17 |
|
||
|
Указатель на структуру и C#
|
|||
|---|---|---|---|
|
#18+
КвейдВсе получилось.Не "Все получилось", а "пока работает". Смешивание управляемого и неуправляемого кода может приводить к неприятным спецэффектам (самому маяться не приходилось, но наслушался). Самое фееричное, что я слышал - нетовский сборщик мусора "освобождал" память сишной DLLки. Но в Microsoft мешать умеют, так что теоретически отладится можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2018, 22:52 |
|
||
|
|

start [/forum/topic.php?fid=58&gotonew=1&tid=2040601]: |
0ms |
get settings: |
4ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
180ms |
get topic data: |
9ms |
get first new msg: |
6ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 497ms |

| 0 / 0 |
