Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35

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

03.07.2012, 08:45. Показов 2437. Ответов 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.07.2012, 08:45
Ответы с готовыми решениями:

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

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

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

4
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,736
Записей в блоге: 14
03.07.2012, 09:22
Ставить 5-й VB? В VB-6 я всегда компилирую в native code; проблем с API из-за этого не возникало.
0
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
03.07.2012, 10:00  [ТС]
Catstail, да нет конечно, если стоит VB6, ничего переустанавливать не надо,
а вот скомпилировать пример можете попробовать и посмотреть - что получится.
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,736
Записей в блоге: 14
03.07.2012, 12:07
Скомпилировал. В 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
 Аватар для zink0000
258 / 107 / 26
Регистрация: 15.03.2012
Сообщений: 353
Записей в блоге: 35
04.07.2012, 09:16  [ТС]
Catstail, спасибо огромное, проверил, действительно всё работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
04.07.2012, 09:16
Помогаю со студенческими работами здесь

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

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

Native' has exited with code
здравствуйте. VC++2008 при запуске программы выдаёт 'Task.exe': Loaded 'C:\Users\Пользователь\Documents\Visual Studio...

Limit of one JavaVM native code
Помогите пожалуйста разобраться. Читаю этот гайд(https://developer.android.com/training/articles/perf-jni.html) по нативной разработке. ...

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


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru