Crystal&Builder
От: DiGun  
Дата: 26.04.07 12:14
Оценка:
Использую Builder 6 + Crystal Report XI

Как через VCL компонент, так и через ActiveX все работает.
Но как только я делаю попытку считать или записать значения формул в отчете, то любая попытка завершается ошибкой Access violation.
Вот кусок кода.

Crpe1->ReportName="test.rpt";
Memo1->Lines->AddStrings(Crpe1->Formulas->Names());  //получаю список формул (без ошибок)
Crpe1->Formulas->Name = "Test1"; //Формула в отчете есть, ошибок не возникает.
Crpe1->Formulas->Item->Formula->Text="1234"; //вот тут возникает ОШИБКА. Если заремать то дальше все работает

Crpe1->Show();


Что не так???
Re: Crystal&Builder
От: Danchik Украина  
Дата: 26.04.07 12:50
Оценка:
Здравствуйте, DiGun, Вы писали:

[Skip]

DG>Crpe1->Formulas->Item->Formula->Text="1234"; //вот тут возникает ОШИБКА. Если заремать то дальше все работает


DG>Crpe1->Show();[/ccode]


DG>Что не так???


А это чему равно?
Crpe1->Formulas->Item == NULL
Crpe1->Formulas->Item->Formula == NULL
Re[2]: Crystal&Builder
От: DiGun  
Дата: 26.04.07 13:15
Оценка:
D>А это чему равно?
D>
D>Crpe1->Formulas->Item == NULL
D>Crpe1->Formulas->Item->Formula == NULL
D>


Crpe1->Formulas->Item == :00CAD7EC
Crpe1->Formulas->Item->Formula == :CAE15000

т.е. тут все ок
Re[3]: Crystal&Builder
От: Danchik Украина  
Дата: 26.04.07 13:27
Оценка:
Здравствуйте, DiGun, Вы писали:

D>>А это чему равно?

D>>
D>>Crpe1->Formulas->Item == NULL
D>>Crpe1->Formulas->Item->Formula == NULL
D>>


DG>Crpe1->Formulas->Item == :00CAD7EC

DG>Crpe1->Formulas->Item->Formula == :CAE15000

DG>т.е. тут все ок


Попробуйте вызвать всю эту лабудень через IDipatch.Invoke. Честно не знаю как это в Builderе вызывается, в Delphi все просто через OleVariant. Понимаю тяжко, но у меня есть подозрение что информация в TLB отличается от того что есть на самом деле... Тоесть сгенеренные интерфейсы is out of date.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.