|
|
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
Добрый день. Подскажите, пожалуйста, как можно решить следующую проблему. В табличке Oracle 8.1.7 лежат excel, word, xml файлы (тип поля Long Raw). Пытаюсь открывать для обработки в цикле только excel файлы. Проверяю принадлежность файла в LBLOB1 к excel проверяя значение Ole_1.ClassLongName. Если встречается Word документ, то он успешно пропускается... Если же встречается xml файл, то происходит вылет из программы в момент передачи LBLOB1 в OLE_1.OBJECTDATA. Событие Error OLE_1 контрола: Код: plaintext 1. 2. 3. 4. 5. Селект и обработка файлов: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. Как же корректно пропускать Xml файлы и отловить мерзопакостную ошибку вызывающую свал? Заранее, благодарю. З.Ы. PB 7.0 build 5031 MS Windows Professional SP2 Oracle 8.1.7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 14:25 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
Событие Error OLE_1 контрола: INTEGER li_FileNum //Ставил здесь брякпоинт, но ошибка видимо возникает в другом месте? action = ExceptionIgnore! li_FileNum = FileOpen('c:\log\ERR.txt', LineMode!, WRITE!, LockWrite!, append!) FILEWRITE(li_FileNum, INPUT) FILECLOSE(li_FileNum) Мда. Ошибка вылазит в SystemError Application event, где у меня стоит один единственный Return. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 14:51 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
Добавил в SystemError event код обработки системных ошибок взятый из UserGuide: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Код: plaintext 1. В том же самом UserGuide, советуют завершать работу приложения при возникновении SystemError ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 15:36 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
UzrptavДобавил в SystemError event код обработки системных ошибок взятый из UserGuide: а externalexception не срабатывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 15:46 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
а сам ole - инициализиться? ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 16:27 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейа externalexception не срабатывает? Спасибо! Я про него совсем забыл. Поставил Код: plaintext 1. Все равно, в момент операции Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 16:37 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
spas2001 а сам ole - инициализиться? Имелось в виду такое? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 16:55 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
Там надо было еще SetAutomationPointer использовать Код: plaintext 1. 2. 3. 4. my_oleobject inherited from OLEObject и в ем есть код обработки externalexception. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 17:56 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
ЗоринАндрейТам надо было еще SetAutomationPointer использовать Спасибо, пойду читать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2008, 20:02 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
Может просто сделать temp-файл и открыть олешником ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2008, 11:33 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
Пробую от простого к сложному. Для обработки события External Exception создаю пользовательский объект стандартного класса OleObject. Передаю указатель автоматизации Ole из переменной ole_1 (соединяется с сервером ole) в мой ole_2. При открытии файла 'C:\1.xml' попадаю в SystemError Event без обрабатывания External Exception. Есть подозрение, что я курю не ту траву... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Application systemerror event: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Мой User Object: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2008, 16:04 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
spas2001Может просто сделать temp-файл и открыть олешником Торможу... не совсем понял идею :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2008, 16:09 |
|
||
|
SelectBlob и Ole control
|
|||
|---|---|---|---|
|
#18+
Да это так - заглушка Делаешь gettempfilename или сам назначаешь Filewrite в streammode ole - инициализация ole - open(темп) Работает 100% ----------------------------------------------------------------------------- Главная деталь любой машины - голова ее владельца ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2008, 21:02 |
|
||
|
|

start [/forum/topic.php?fid=15&fpage=46&tid=1336756]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 231ms |
| total: | 376ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...