Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Вниз

Помогите!!! Error - Не был произведен вызов CoInitialize   Найти похожие ветки 

 
SamProf ©   (2007-02-28 00:31) [0]

Доброго вечера, мастера! Прошу помощи, бо уже не можу....
Суть проэкта: проэкт на IntraWeb, на нём 2 кнопочки, при нажати  
1 кнопочку) мы соединяемся посредством OLE к 1С:Предприятию
2 кнопочку) мы получаем список товаров и выводим из в список.... Итак вот модуль:
unit Unit1;

interface

uses
 Classes, SysUtils, IWAppForm, IWApplication, IWColor, IWTypes, Controls,
 IWVCLBaseControl, IWBaseControl, IWBaseHTMLControl, IWControl, IWCompButton,
 ComObj, Variants,ActiveX, IWHTMLControls;

type
 TIWForm1 = class(TIWAppForm)
   IWButton1: TIWButton;
   IWButton2: TIWButton;
   IWList1: TIWList;
   procedure IWButton2Click(Sender: TObject);
   procedure IWButton1Click(Sender: TObject);
 public
 end;
var
 C1: Olevariant;
implementation
{$R *.dfm}
procedure TIWForm1.IWButton1Click(Sender: TObject);
begin
 C1 := createoleobject("V1CEnterprise.Application");
 C1.initialize(c1.rmtrade, "/DD:\PROGRAM\DAKO\1с\", "");
end;

procedure TIWForm1.IWButton2Click(Sender: TObject);
var
 t:OleVariant;
begin
 IWList1.Clear;
 t:=C1.CreateObject("Справочник.Товары");
 t.selectitems(1);
 while t.getitem(1)=1 do
   begin
   IWList1.Items.Add(t.getAttrib("Наименование"));
   end;
end;

initialization
 TIWForm1.SetAsMainForm;
end.


Так вот при нажатии на первую кнопочку мы имеем ошибку:
Не был произведен вызов CoInitialize.
Пошаря в просторах интернета я нашёл, что надо писать   CoInitializeEx(nil,COINIT_APARTMENTTHREADED); и получилось вот что:procedure TIWForm1.IWButton1Click(Sender: TObject);
begin
 CoInitializeEx(nil,COINIT_APARTMENTTHREADED);
 C1 := createoleobject("V1CEnterprise.Application");
 C1.initialize(c1.rmtrade, "/DD:\PROGRAM\DAKO\1с\", "");
end;
и ура - заработало, но при нажатии на вторую кнопочку я получаю эррор:"Объект не подключен к серверу"....
я понял, что каждое нажатие кнопочки - в отдельном потоке и в этом проблема...

Много текста получилось.... Посоветуйте чтонить!!! Пожалуйста!!!!


 
DrPass ©   (2007-02-28 01:34) [1]


> я понял, что каждое нажатие кнопочки - в отдельном потоке
> и в этом проблема...

Правильно понял
Ну так и пиши программу с учетом этого -
CoInitialize(nil);
C1 := createoleobject("V1CEnterprise.Application");
C1.initialize(c1.rmtrade, "/DD:\PROGRAM\DAKO\1с\", "");
IWList1.Clear;
t:=C1.CreateObject("Справочник.Товары");
t.selectitems(1);
while t.getitem(1)=1 do
  begin
  IWList1.Items.Add(t.getAttrib("Наименование"));
  end;
CoUninitialize;


 
SamProf ©   (2007-02-28 02:23) [2]

Спасибо, но есть проблема. при каждом нажатии кнопочки будет стртовать новый экземпляр 1С, что происходит порядка .... 20-30 секунд.... а мне нужно чтобы 1С запускалась тока 1 раз и из неё черпальсь данные из разных потоков......


 
Сергей М. ©   (2007-02-28 09:01) [3]

см. GetActiveOleObject


 
SamProf ©   (2007-02-28 10:44) [4]

CoInitializeEx(nil,COINIT_APARTMENTTHREADED);
cc1:= GetActiveOleObject("V1CEnterprise.Application");
 IWList1.Clear;
 t:=Cc1.CreateObject("Справочник.Товары");
 t.selectitems(1);
 while t.getitem(1)=1 do
   begin
   IWList1.Items.Add(t.getAttrib("Наименование"));
   end;


На строчке CoInitializeEx(nil,COINIT_APARTMENTTHREADED); пишет что Операция недоступна!


 
Сергей М. ©   (2007-02-28 11:54) [5]

А у меня не пишет.

Что я неправильно делаю ?


 
SamProf ©   (2007-02-28 12:36) [6]

Я ошибся - ошибка на строчке cc1:= GetActiveOleObject("V1CEnterprise.Application");


 
Сергей М. ©   (2007-02-28 13:01) [7]


> SamProf ©   (28.02.07 12:36) [6]


Значит в этот момент нет ни одного существующего объекта указанного тобой класса


 
DrPass ©   (2007-02-28 13:24) [8]


> ошибка на строчке cc1:= GetActiveOleObject("V1CEnterprise.
> Application");

Ну так тебе и надо же проверять - делать GetActiveOleObject, и если такого активного объекта нет, то создавать новый



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.044 c
15-1175100422
Kolan
2007-03-28 20:47
2007.04.22
Чем сохранить страници со всеми ссылками?


15-1173046249
Суслик
2007-03-05 01:10
2007.04.22
Вот завел себе блог


15-1174644621
Post_
2007-03-23 13:10
2007.04.22
Крякалка


2-1175270259
Dmitry_177
2007-03-30 19:57
2007.04.22
переменная SYSTEMTIME определить что она пустая


2-1175711062
sholomak
2007-04-04 22:24
2007.04.22
Работа с PDF





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский