Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ошибка компиляции при импорте библиотек [Delphi, Windows]


almas ©   (2005-12-10 20:45:00) 

Здравствуйте!

Короче делаю следующее:
- открываю Project -> Import Type Library
- в списке выбираю STATISTICA 6.0 Object Library (Version 1.0)
- нажимаю Create Unit...
- запускаю проект, и....

Ошибка компиляции!

Build
[Error] STATISTICA_TLB.pas(10084): Incompatible types: 'Variant' and 'PSafeArray'
[Error] STATISTICA_TLB.pas(10373): Type not allowed in OLE Automation call
....

и таких штук 6-7

приведу код, где найдена 1-я ошика:

function TSpreadsheet.Get_CaseValues(CaseNo: SYSINT): PSafeArray;
var
 InterfaceVariant : OleVariant;
begin
 InterfaceVariant := DefaultInterface;
 Result := InterfaceVariant.CaseValues[CaseNo];
end;




и 2-я ошибка:

procedure TSpreadsheet.Set_CaseValues(CaseNo: SYSINT; var Values: PSafeArray);
 { Warning: The property CaseValues has a setter and a getter whose
   types do not match. Delphi was unable to generate a property of
   this sort and so is using a Variant as a passthrough. }
var
 InterfaceVariant: OleVariant;
begin
 InterfaceVariant := DefaultInterface;
 InterfaceVariant.CaseValues := Values;
end;




Объясните пожалуйста, что всё это значит?????

Спасибо!


Набережных С.   (2005-12-12 19:41:00) [1]


> almas   (10.12.05 20:45)

Скорее всего,  PSafeArray содержит данные, с которыми Delphi не умеет работать, а работать она умеет тодько с PSafeArray, содержащим integer. Вот она и воткнула, что смогла, честно об этом предупредив. Надо смотреть библиотеку типов на предмет содержимого миассива, или документацию при наличии оной. Ну а дальше вручную реализовывать. Ничего особо сложного, но возни прилично.


Наверх

Титульная страница Поиск, карта сайта Написать письмо