|
Как мне в .Net правильно создать указатель на массив указателей?
|
|||
---|---|---|---|
#18+
Оригинальный код VB6: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Вот как я пытаюсь сделать то же самое в .Net Так как ниже, работает только для одной страницы. Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
Если сделать .nPages = 9 как мне надо, то ошибка доступа к памяти (очевидно в .Union_ppsp_phpage при таком коде сидит только первый элемент массива) Попытался вот так вот: Код: vbnet 1. 2. 3. 4. 5.
Но во-первых, не уверен что правильно, во-вторых плюсование IntPtr-ов не уверен что полностью законно и корректно (.Union_ppsp_phpage + IntPtr.Size * i) а в третьих при компиляции кода в .Net2 это плюсование еще и выдает ошибку. Как правильно извернуться? Т.е. надо чтобы в .Union_ppsp_phpage сидел указатель на полный массив ahpsp(0 To 8) As IntPtr, а не только на первый его элемент При этом код должен быть инвариантен относит. x64/x86 и относит. .Net4.5/.Net2, дабы не иметь сложности в дальнейшем. в структурах PROPSHEETPAGE/PROPSHEETHEADER у меня ошибок c IntPtr/Integer нет, уже покопался с этим, поэтому об этом не спрашиваю. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 18:16 |
|
Как мне в .Net правильно создать указатель на массив указателей?
|
|||
---|---|---|---|
#18+
Наверно все же делаю правильно. Если >=.Net4 то можно так Код: vbnet 1. 2. 3. 4.
Ну а коль мне нужна совместимость с .Net2, то думаю вот так не подведет: Код: vbnet 1. 2. 3. 4.
Хотя конечно при x86-исполнении ToInt64() избыточно, да и бог с ним. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 19:21 |
|
Как мне в .Net правильно создать указатель на массив указателей?
|
|||
---|---|---|---|
#18+
Фиг с ним, напишу лучше нормально: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.06.2015, 19:37 |
|
|
start [/forum/topic.php?fid=20&fpage=83&tid=1401455]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
others: | 347ms |
total: | 501ms |
0 / 0 |