Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Help (Microsoft Office SpreadSheet 11.0) / 25 сообщений из 36, страница 1 из 2
07.10.2009, 16:51
    #36238010
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Все советуют использовать Microsoft Office SpreadSheet 11.0, для размещения на форме екселя. Помещаю активХ на форму компилю. Ошибка. (Ошибка OLE, код 0х80040202:Неизвестный код состояния COM). Че делать. Помогите, кто знает, или ссылочку где почитать.
...
Рейтинг: 0 / 0
07.10.2009, 17:03
    #36238047
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
ЗАДАЧА: Заказчик присылает перечень продукции. В основном вордовские и екселевские таблицы, чтобы не набирать их заново, просто скопировать из файла в форму. Как реализовать?
...
Рейтинг: 0 / 0
07.10.2009, 17:07
    #36238066
Help (Microsoft Office SpreadSheet 11.0)
RickitikiЗАДАЧА: Заказчик присылает перечень продукции. В основном вордовские и екселевские таблицы, чтобы не набирать их заново, просто скопировать из файла в форму. Как реализовать?Сначала заставить заказчика придерживаться какого согласованного с Вами стандарта оформления. Без этого все остальное бессмысленно.
...
Рейтинг: 0 / 0
07.10.2009, 18:23
    #36238260
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
проходящий.RickitikiЗАДАЧА: Заказчик присылает перечень продукции. В основном вордовские и екселевские таблицы, чтобы не набирать их заново, просто скопировать из файла в форму. Как реализовать?Сначала заставить заказчика придерживаться какого согласованного с Вами стандарта оформления. Без этого все остальное бессмысленно.
Не все так просто.
...
Рейтинг: 0 / 0
07.10.2009, 18:24
    #36238265
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
запускаю просто форму все пашет, компилю, запускаю прогу, при открытии формы ошибка
...
Рейтинг: 0 / 0
07.10.2009, 18:36
    #36238286
Help (Microsoft Office SpreadSheet 11.0)
Rickitikiпроходящий.RickitikiЗАДАЧА: Заказчик присылает перечень продукции. В основном вордовские и екселевские таблицы, чтобы не набирать их заново, просто скопировать из файла в форму. Как реализовать?Сначала заставить заказчика придерживаться какого согласованного с Вами стандарта оформления. Без этого все остальное бессмысленно.
Не все так просто.А где тут простота то увиделась? Это как раз самое сложное. Технически получение данных из ворда или екселя не проблема. Кстати, Microsoft Office SpreadSheet 11.0 тут скорее всего совершенно не помошник.
...
Рейтинг: 0 / 0
07.10.2009, 19:23
    #36238377
rikitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
проходящий.,
взять из ворда или екселя и скопировать на форму, чего же более? Просто.
Я не спрашиваю как реализовать, я спрашиваю, почему если запускаешь неоткомпилированную форму все пашет, если компилишь проект - нет. Код ошибки я написал. Если кто сталкивался, помогите. На форуме Microsoft написали какому-то чуваку, что разберуться с этой бедой в VFP9.0 SP2, но воз и ныне там.
...
Рейтинг: 0 / 0
07.10.2009, 20:13
    #36238439
Sea_Cat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Когда то пробовал работать с Microsoft Office SpreadSheet 11.0, но убедился, что с Excel работать и проще и надежнее. Microsoft Office SpreadSheet 11.0 - это "недоExcel", многое в нем урезано. С точки зрения программной реализации разницы почти никакой, зато меньше проблем при чтении данных разных версий Excel.
Кстати с файлами Excel можно работать через ODBC - как с курсором. Положить на форму обычный Grid, а курсор сделать источником данных. Так будет еще проще.
...
Рейтинг: 0 / 0
07.10.2009, 21:23
    #36238519
rikitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Sea_Cat,
а если ворд источник?
...
Рейтинг: 0 / 0
08.10.2009, 12:40
    #36239462
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Неужели никто не сталкивался?
Пробовал создать програмно, та же фигня.
Правда через дебагер все работает великолепно.
Гуру где вы?
...
Рейтинг: 0 / 0
08.10.2009, 15:50
    #36240075
Sea_Cat
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Rickitiki , а как Вы берете данные из Word ? Руками через COPY - PASTE ?
В принципе, это неплохой вариант, когда нужно вытащить данные из Вордовского документа со сложной структурой.
Сейчас специально попробовал такой вариант - перетащил из Вордовского документа пару таблиц - нормально все вставляется и ошибок (при работе в собранном EXE файле) не наблюдается.
Попробуйте запустить свой EXE-шник под отладчиком, такая ошибка обычно свидетельствует о том, что OLE-сервер получил запрос, который от не может распознать и обработать.
...
Рейтинг: 0 / 0
08.10.2009, 16:44
    #36240285
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Sea_Cat,
в том-то и дело через отладчик все работает прекрасно.
...
Рейтинг: 0 / 0
08.10.2009, 17:03
    #36240357
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Если сначала поместить ActiveX в библиотеку классов (VCX) и на форму класть экземпляр класса? Возможно, проблема вот в этом

На машине клиента ActiveX требует лицензию
...
Рейтинг: 0 / 0
08.10.2009, 17:27
    #36240419
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
ВладимирМ,
подскажите пожалуйста какой осх регестрировать?
осх10.dll установил.
как перетащить в vcx spreadsheet.
...
Рейтинг: 0 / 0
08.10.2009, 18:39
    #36240561
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Rickitikiподскажите пожалуйста какой осх регестрировать? осх10.dll установил.
Если у клиента установлен Excel, то можно не заморачиваться. Хотя...

Используется ActiveX-компонент с именем Microsoft SpreadSheet

Office 2000

Microsoft Office Web Components 9.0 (Ver 1.0) TypeLib,

COM-объект 'OWC.Spreadsheet'

Library OWC
Microsoft Office Web Components 9.0
File: C:\Program Files\Microsoft Office\Office10\msowc.dll
Help File: C:\Program Files\Microsoft Office\Office\1049\msowcvba.chm
GUID: {0002E540-0000-0000-C000-000000000046}

Excel XP

COM-объект 'OWC10.Spreadsheet'

Library OWC10
Microsoft Office XP Web Components 10.0
File: C:\Program Files\Common Files\Microsoft Shared\Web Components\10\owc10.dll
Help File: C:\Program Files\Common Files\Microsoft Shared\Web Components\10\1033\owcvba10.chm
GUID: {0002E550-0000-0000-C000-000000000046}

Excel 2003

COM-объект 'OWC11.Spreadsheet'

Library OWC11
Microsoft Office Web Components 11.0
File: C:\Program Files\Common Files\Microsoft Shared\Web Components\11\owc11.dll
Help File: C:\Program Files\Common Files\Microsoft Shared\Web Components\11\1049\owcvba11.chm
GUID: {0002E558-0000-0000-C000-000000000046}


Кстати, ошибка может быть связана с разными версиями компонент. Но это при переходе с 9 на 10 версию. Там сильно покорежены некоторые методы. Другие имена, другие значения параметров. Вроде бы при переходе с 10 на 11 такого не было. Старше 11 версии не существует. MS отказалось от развития этого объекта.

Rickitiki
как перетащить в vcx spreadsheet.
А как на форму-то положили? Технология точно такая же. Создаете новый класс на базе OleControl, а дальше, как и на форме...
...
Рейтинг: 0 / 0
08.10.2009, 20:14
    #36240678
rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
ВладимирМ,
библиотеки - актив х - скопировал на форму.
Запускаю ехе через дебагер-все работает, просто без дебагера -ошибка, и 10 и 11 использовал. Очень нужно. Помогите.
...
Рейтинг: 0 / 0
08.10.2009, 20:16
    #36240679
rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
ВладимирМ,
также добавлял програмно, через addobject. Все то-же. Дебагер работает, просто так- нет.
...
Рейтинг: 0 / 0
09.10.2009, 10:21
    #36241273
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
rickitikiВладимирМ,
также добавлял програмно, через addobject. Все то-же. Дебагер работает, просто так- нет.
Вы по ссылке читали? AddObject() в отношении ActiveX от Microsoft - это запрещенная команда. Запрещенная лицензионными соглашениями. Причем запрещенная именно в Run-Time (на этапе исполнения EXE). В Design-Time (на этапе разработки) это допустимая команда.

Решение проблемы - это включение ActiveX в визуальную библиотеку классов. В файл VCX. Причем иногда требуется не просто создать класс на основе AcativeX, а создать класс на основе контейнера и включить этот ActiveX в контейнер. Т.е. класс в виде "бутерброда"

Кстати, отличие при работе под отладчиком и в штатном режиме два:

1. Отладчик постоянно переводит фокус на себя
2. В пошаговом режиме постоянно происходит подтормаживание выполнения, что позволяет "проскочить" ряду процессов, стоящих в очереди. Т.е. без отладчика последовательность выполнения событий будет несколько другой.

При работе с ActiveX желательно делать глобальную настройку

Код: plaintext
_VFP.AutoYield = .F.

Также попробуйте "притормозить" выполнение кода в тех местах, где выскакивает ошибка (хотя бы Inkey(1)). Либо пропихнуть события из стека событий черезе DoEvents
...
Рейтинг: 0 / 0
09.10.2009, 10:24
    #36241278
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Да, надеюсь, вы не трогали настройку SET OLEOBJECT. Оставили ее в значении по умолчанию. Т.е. ON.
...
Рейтинг: 0 / 0
09.10.2009, 10:41
    #36241329
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
ВладимирМ
Также попробуйте "притормозить" выполнение кода в тех местах, где выскакивает ошибка (хотя бы Inkey(1)). Либо пропихнуть события из стека событий черезе DoEvents
как отловить это место?
...
Рейтинг: 0 / 0
09.10.2009, 10:52
    #36241358
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
может свойства не так выставлены?
...
Рейтинг: 0 / 0
09.10.2009, 11:27
    #36241486
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
пробовал и бутерброд, и просто vcx, и просто ложил на форму, (AutoYield = .F.) везде одна и та-же фигня. Прописываю suspend во всех событиях, запускаю без дебагера, чтобы отловить приблизительно место ошибки, но программа не доходит ни до одного из них. Ошибка гдето в load объэкта. Как туда попасть?
...
Рейтинг: 0 / 0
09.10.2009, 11:38
    #36241527
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
RickitikiПрописываю suspend во всех событиях, запускаю без дебагера, чтобы отловить приблизительно место ошибки, но программа не доходит ни до одного из них. Ошибка гдето в load объэкта. Как туда попасть?

Suspend в EXE не работает. Там нет отладчика. Поэтому вставляешь MessageBox() перед подозрительными командами. Так последовательно и ищешь...

Также попробуй сделать простейшую форму вообще без какого-либо кода. Просто со встроенным объектом ActiveX. Пустым. Никак не наполненным. Такая форма будет запускаться?
...
Рейтинг: 0 / 0
09.10.2009, 12:07
    #36241635
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
ВладимирМ

Suspend в EXE не работает. Там нет отладчика. Поэтому вставляешь MessageBox() перед подозрительными командами. Так последовательно и ищешь...

работает. выводиться сообщение (возможность недоступна), игнорируешь и работаешь дальше.

Также попробуй сделать простейшую форму вообще без какого-либо кода. Просто со встроенным объектом ActiveX. Пустым. Никак не наполненным. Такая форма будет запускаться?

сделал форму (пустая) поместил SpreadSheet тремя способами, всеравно та-же ошибка.
Я тронусь.
делал перед этим форму с тривью все отлично.
...
Рейтинг: 0 / 0
09.10.2009, 12:22
    #36241695
Rickitiki
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Help (Microsoft Office SpreadSheet 11.0)
Вот нашел, в английском не силен, может это оно.

Cause
0x80040202 error appears in the OPC Client application when it fails to receive a callback from the OPC Server.

Symptoms
When an OPC Client application is unable to receive callbacks from an OPC Server, users will notice at least two symptoms: The OPC Client application will fail to create an OPC Group altogether. The OPC Client application will not be able to show data updates. Instead, data values will remain unchanged.

Background
OPC supports a report-by-exception (RBX) mechanism whereby the OPC Server sends data updates to the OPC Client (such as an HMI, Historian, APC, ERP, etc.) whenever the data changes (also known as "on data change"). OPC terminology refers to this mechanism as "subscription". OPC Servers are able to achieve subscription updates through the use of asynchronous callbacks. In other words, when the OPC Server detects a change in the data, it immediately "calls" the client back with the data update. This is an asynchronous mechanism because the OPC Client does not know when the OPC Server will send the data. However, if you don’t set the security settings properly, these data updates will fail. OPC Client applications typically indicate this failure by setting the Quality value of an item to "Bad".

Callbacks force an OPC Server to actively establish a connection with an OPC Client. In a sense, the OPC Server becomes a Client and the Client becomes a Server.

Test
One simple test to determine whether or not a callback is failing is to force the OPC Client to issue a "Synchronous Cache Read" or a "Synchronous Device Read". If either one of these return values with "Good" quality, then the lack of data updates is likely due to the OPC Server being unable to send callbacks to the OPC Client application.

Repair Procedures
For the complete step-by-step repair procedure to fix this DCOM error, download the complete whitepaper.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Help (Microsoft Office SpreadSheet 11.0) / 25 сообщений из 36, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]