Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Delphi code->C++ code

585
28 июля 2005 года
honeybeer
297 / / 06.09.2004
Доброго всем.
Как будет выглядеть сиприплюснутый аналог функции:
 
Код:
function Some(var form: TForm): Boolean; stdcall;
299
28 июля 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by honeybeer
Доброго всем.
Как будет выглядеть сиприплюснутый аналог функции:
 
Код:
function Some(var form: TForm): Boolean; stdcall;




bool _fastcall Some(TForm form);
Кажется так)
Но лучше
bool _fastcall Some(TForm * form);
Значит что form указатель.

10K
28 июля 2005 года
лАмер
25 / / 27.06.2005
Цитата:
Originally posted by 3D Bob
bool _fastcall Some(TForm form);
Кажется так)
Но лучше
bool _fastcall Some(TForm * form);
Значит что form указатель.


Позвольте с вами не согласиться, это скорее:

 
Код:
bool __stdcall Some(TForm** form);

а Билдер парсит такой код как:
 
Код:
bool __stdcall Some(TForm* &form);

потому как в Паскале VCL-типы - неявно ссылочные и объявление:
 
Код:
var form: TForm;

эквивалентно Билдерскому:
 
Код:
TForm* form;

P.S.
А __fastcall тут совершенно не в тему
299
28 июля 2005 года
3D Bob
885 / / 18.04.2005
Цитата:

А __fastcall тут совершенно не в тему


Если бы кто-то еще объяснил мне незнающему глубокий смысл фасткол и стдкол был бы примного благодарен.

585
29 июля 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by 3D Bob
Если бы кто-то еще объяснил мне незнающему глубокий смысл фасткол и стдкол был бы примного благодарен.


Все это спецификаторы вызова
__fastcall - рекомендует компилятору использовать для передачи параметров в функцию регистры процессора(потому и fast)
__stdcall - предписывает компилятору использовать стандарные вызовы функций
А вообще-то пора отыскать на клаве F1, и почаще ею пользоваться :D

246
29 июля 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by honeybeer

...
А вообще-то пора отыскать на клаве F1, и почаще ею пользоваться :D


А еще добавлю, что нужно cначала самому ее найти, а потом уже умничать. Подскажу: - она вторая слева в верхнем ряду, нажал? Дальше переходишь на вкладку Index, вводишь: - C++ language support for the VCL, ENTER. Support for Object Pascal data types and language concepts - click и т.д.

585
29 июля 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by GIZMO
А еще добавлю, что нужно cначала самому ее найти, а потом уже умничать. Подскажу: - она вторая слева в верхнем ряду, нажал? Дальше переходишь на вкладку Index, вводишь: - C++ language support for the VCL, ENTER. Support for Object Pascal data types and language concepts - click и т.д.


Милейший, это вы к чему? Пожалуйста по существу. Вас что-то не устраивает?

246
29 июля 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by honeybeer
Милейший, это вы к чему? Пожалуйста по существу. Вас что-то не устраивает?


т. е. человеку намекнул, что хелп читать нужно, а самому туда заглянуть перед тем как вопрос задать религия не позволяет? Там про procedure, var, типы черным по английски написано ну, а про соглашение о вызове Ты и Сам знаешь.

585
29 июля 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by GIZMO
т. е. человеку намекнул, что хелп читать нужно, а самому туда заглянуть перед тем как вопрос задать религия не позволяет? Там про procedure, var, типы черным по английски написано ну, а про соглашение о вызове Ты и Сам знаешь.


Ну коли ты уж намекнул мне. То я спрошу прямо, раз уж ты так хорошо знаешь хелп, может подскажешь где там пункт о том, почему вызов подобной функции из длл собранной в Дельфях работает а в Билдере нет.
Хотя экспортируются одинаковые функции.http://borland.xportal.ru/forum/viewtopic.php?t=15301

246
02 августа 2005 года
GIZMO
1.8K / / 30.07.2004
Цитата:
Originally posted by honeybeer
Ну коли ты уж намекнул мне. То я спрошу прямо, раз уж ты так хорошо знаешь хелп, может подскажешь где там пункт о том, почему вызов подобной функции из длл собранной в Дельфях работает а в Билдере нет.
Хотя экспортируются одинаковые функции.http://borland.xportal.ru/forum/viewtopic.php?t=15301


Думаю потому, что ты где-то накосячил со своей dll, ну или Я не такой умный и просто не знаю.

585
02 августа 2005 года
honeybeer
297 / / 06.09.2004
Цитата:
Originally posted by GIZMO
Думаю потому, что ты где-то накосячил со своей dll, ну или Я не такой умный и просто не знаю.



Да то что там косяк я догнал. Мне бы зацепку где. Да не, я даже знаю где, но в чем там проблема не пойму. Проблема в ссылочных параметрах TForm и TTabSheet.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог