Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Ошибка EOleSysError 'Неизвестный язык'


Автор: UhaMurad 10.12.2005, 10:06
Здравствуйте!

вот код:

Код

procedure TForm1.Button1Click(Sender: TObject);
var
  st : Variant;

begin
  st := createoleobject('Statistica.Application');
  st.Workbooks.New;

end;


во время выполнения выскакивает исключение EOleSysError 'Неизвестный язык' на строчке st.Workbooks.New;... Statistica я вроде установил, в реестре вроде есть данные о ней.... Через Excel VBA всё работает нормально.... но почему Delphi не может договориться с Statistica? smile

Спасибо!

Автор: UhaMurad 10.12.2005, 12:59
Это опять я... у меня новая проблема возникла (видимо, та же причина, что и в первом вопросе)

Короче делаю следующее:
- открываю 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;


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

Спасибо!



Автор: remax 9.5.2010, 12:17
Всем привет!
Кто нибудь смог решить эту давнюю проблему - связать Statistica и Delphi?

По крайне мере, у меня ни один из способов для Statistica-7 и Delphi-7 не идет. Даже пример разработчиков.  

Т.е., подключение по
m_StatApp := GetOrCreateObject ('Statistica.Application');
или
 m_StatApp := CreateOleObject('STATISTICA.Application'); 
происходит. 

В списке процессов появляется statistic.

Но!!!! При попытке вызвать любую из команд, например

m_StatApp.Visible := true;

результат - 

EOleSysError 'Неизвестный язык'


 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)