|
Что все-таки в .Net есть App.hInstance?
|
|||
---|---|---|---|
#18+
Ну, например оно надо для CreateWindowEx. Делал так: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Пока в .Net 4.5 + x64 не словил ошибку с .ToInt32() Искал на чего заменить и как люди делают, попробовал такой вариант Код: vbnet 1.
В подробности не лез, но понял что это что-то другое и в частности Toolbar вписанный в Rebar подглючивает (визуально видно смещение на пару пикселей, не так как в VB6 оригинале) - т.е. это другой hInstance и не тот который мне нужен. Пробовал пихать туда IntPtr.Zero, вроде работает но не уверен что это есть гуд. Остановился пока на следующем варианте: Код: vbnet 1. 2. 3. 4.
Вроде работает как надо и на x64 и на x86 коде. Как все-таки правильно? Почему глючит первый вариант более менее понятно. Потому что 64-битный указатель (на x64) не конвертируется в Int32. Вариант .ToInt64 хоть и не глючит но тоже сомнителен - с т.зр. 32-битного кода. По хорошему мне надо Код: vbnet 1. 2. 3. 4.
Как это родить? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2015, 13:37 |
|
Что все-таки в .Net есть App.hInstance?
|
|||
---|---|---|---|
#18+
Дмитрий77, метод System.Runtime.InteropServices.Marshal.GetHINSTANCE возвращает IntPtr, зачем вам IntPtr преобразовываться в IntPtr О_о ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2015, 13:40 |
|
Что все-таки в .Net есть App.hInstance?
|
|||
---|---|---|---|
#18+
Roman Mejtes, m-m-m... Да, действительно. Лоханулся-с. Это называется когда-то гуглил и не вдумываясь передрал кусок кода. Так правильно? Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2015, 13:51 |
|
|
start [/forum/topic.php?fid=20&tid=1401895]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 391ms |
total: | 511ms |
0 / 0 |