Форум: "Прочее";
Текущий архив: 2011.10.16;
Скачать: [xml.tar.bz2];
ВнизВызов OLE из DelphiXE Найти похожие ветки
← →
И. Павел © (2011-06-22 16:55) [0]Здравствуйте.
Перешел, наконец-то на Delphi XE.
Вызов:A := CreateOleObject("...");
A.SomeMethod("login", "password");
Привеодит к ошибке, т.к. аргументы заданы некорректно. Но если написать:A := CreateOleObject("...");
A.SomeMethod(String("login"), String("password"));
то все работает. Получается, что литералы в XE - 8-мибитные? Или я чего-то недопонимаю?
← →
И. Павел © (2011-06-22 16:57) [1]> т.к. аргументы заданы некорректно
Не совсем правильно выразился. Точнее: компилятор не ругается, но OLE-объект не устраивает содержимое аргументов.
← →
tesseract © (2011-06-22 17:02) [2]
> но OLE-объект не устраивает содержимое аргументов
OLE PWideChar обычно хочет. Что в tlb у объекта ?
← →
И. Павел © (2011-06-22 18:11) [3]
> tesseract © (22.06.11 17:02) [2]
Спасибо. COM объект на работе. завтра посмотрю. Но скорее всего там все вшито в dll.
Просто странно, что литерал и переменная типа String воспринялись по разному.
← →
tesseract © (2011-06-23 12:43) [4]
> Просто странно, что литерал и переменная типа String воспринялись
> по разному.
Вообще-то String<>Pchar, а wideString<>PwideChar. Так же как LongBool<>Boolean.
← →
И. Павел © (2011-06-23 13:24) [5]tesseract ©
Спасибо. Похоже, компилятору нужно было действительно точнее сообщить - переменные каких типов нужно передавать в функцию.
Импортировал tlb-файл. В качестве всех параметров функции ожидается "const xxx WideString".
В Delphi7 литералы нормально приводились к WideString. А в XE, похоже, действительно аргументы как-то по другому преобразуются.
Подключил к проекту файл с информацией о типах. Теперь, видимо, перед тем, как вызвать метод, Delphi производит преобразования типов и вызов "A.SomeMethod("login", "password");" работает.
← →
tesseract © (2011-06-23 15:55) [6]
> В Delphi7 литералы нормально приводились к WideString.
Не замечал подобного в случае русского языка. Точно помню, что WideString использовал в принудительном порядке.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2011.10.16;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.003 c