Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
255 / 104 / 26
Регистрация: 15.03.2012
Сообщений: 347
Записей в блоге: 27
1

Visual Basic 5 компиляция в P-Code и в Native Code - различия

03.07.2012, 08:45. Просмотров 1324. Ответов 4
Метки нет (Все метки)

Из одного и того же исходного кода:
BitBlt32.zip
скомпилировано два exe-файла
один в P-Code - BitBlt32p.exe
другой в Native Code - BitBlt32n.exe

В P-Code всё работает, а вот в Native Code...
функция BitBlt Lib "GDI32" работает нормально,
а вот TransparentBlt Lib "Msimg32.dll"
не работает вообще...

Почему при компиляции в Native Code одна API-функция работает,
а другая нет?

Попробуйте скомпилировать исходник на своей машине,
возможно эта ошибка возникает только у меня?

Сталкивались ли Вы ещё с какими-нибудь функциями
работающими в P-Code и не работающими в Native Code?

Есть ли такая проблема в Visual Basic 6?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2012, 08:45
Ответы с готовыми решениями:

В чём заключается разница между компиляцией в P-code и Native-code?
Извините что я такой ламмер, но в чём заключается разница между компиляцией в P-code и...

Visual Studio Code Компиляция
Стоит Linux на ноутбуке, установил vscode. Вопрос, как скомпилировать написанную программу? Думаю...

Debian 9 Visual Studio Code С++ нужно настроить VS Code
Доброго времени суток, скажите пожалуйста как настроить в VS Code Path при работе с C++???

Code First с БД PostgreSQL в Visual Studio Code на Linux
Здравствуйте! Возникла проблема с подключением к БД PostgreSQL, обо всем по порядку: Стоит...

4
Модератор
26516 / 13804 / 2628
Регистрация: 12.02.2012
Сообщений: 22,622
03.07.2012, 09:22 2
Ставить 5-й VB? В VB-6 я всегда компилирую в native code; проблем с API из-за этого не возникало.
0
255 / 104 / 26
Регистрация: 15.03.2012
Сообщений: 347
Записей в блоге: 27
03.07.2012, 10:00  [ТС] 3
Catstail, да нет конечно, если стоит VB6, ничего переустанавливать не надо,
а вот скомпилировать пример можете попробовать и посмотреть - что получится.
0
Модератор
26516 / 13804 / 2628
Регистрация: 12.02.2012
Сообщений: 22,622
03.07.2012, 12:07 4
Скомпилировал. В p-коде два движущихся объекта, в n-коде один...

Добавлено через 31 минуту
Не отрабатывает ф-ция TransparentBlt (возвращает ноль) в нативном коде.

Добавлено через 31 минуту
Разобрался. VB не при чем - у Вас неверно описан прототип TransparentBlt. Правильно так:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Public Declare Function TransparentBlt Lib "Msimg32.dll" (ByVal hdcDest As Long, _
                                                          ByVal nXOriginDest As Long, _
                                                          ByVal nYOriginDest As Long, _
                                                          ByVal nWidthDest As Long, _
                                                          ByVal nHeightDest As Long, _
                                                          ByVal hdcSrc As Long, _
                                                          ByVal nXOriginSrc As Long, _
                                                          ByVal nYOriginSrc As Long, _
                                                          ByVal nWidthSrc As Long, _
                                                          ByVal nHeightSrc As Long, _
                                                          ByVal crTransparent As Long) As Boolean
Все параметры - Long. В нативном коде работает!
1
255 / 104 / 26
Регистрация: 15.03.2012
Сообщений: 347
Записей в блоге: 27
04.07.2012, 09:16  [ТС] 5
Catstail, спасибо огромное, проверил, действительно всё работает.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.07.2012, 09:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Native' has exited with code
Здравствуйте!) Помогите, пожалуйста! У меня программа (консольное применение) компилируется...

Native' has exited with code
здравствуйте. VC++2008 при запуске программы выдаёт 'Task.exe': Loaded...

Limit of one JavaVM native code
Помогите пожалуйста разобраться. Читаю этот...

Генерация native code при установке
Приветствую специалистов по C#, .NET У меня небольшой вопрос, продолжающий серию 'как получить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.