Автор | Сообщение |
|
| |
Пост N: 4674
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 12:56. Заголовок: GetActiveObject
Только у меня падает если нет ни одного Excel объекта ? GetActiveObject( "Excel.Application" ) http://shot.qip.ru/00GjNR-6BtVUomDo/ а вот так все норм win_oleGetActiveObject( "Excel.Application" )
|
|
|
Ответов - 14
[только новые]
|
|
|
| |
Пост N: 528
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.15 13:20. Заголовок: Dima пишет: Только ..
Dima пишет: Как тебе сказать чтоб не обидеть у меня не падает FUNC main() ? GetActiveObject( "Excel.Application" ) ; wait return NIL
|
|
|
|
| |
Пост N: 4675
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 13:25. Заголовок: Это без Минигуи соби..
Это без Минигуи собиралось ? Я так собирал c:\hb32\bin\hbmk2 t -lxhb -lhbwin
|
|
|
|
| |
Пост N: 529
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.15 13:32. Заголовок: Dima пишет: Это без..
Dima пишет: цитата: | Это без Минигуи собиралось |
| собиралось батником из поставки минигуи call c:\Minigui\batch\compile.bat Test /C %2 %3 %4 %5 %6 %7 %8 %9
|
|
|
|
| |
Пост N: 4676
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 13:33. Заголовок: ясно значит мигуи пр..
ясно значит минигуи прицепился а там свой похоже GetActiveObject
|
|
|
|
| |
Пост N: 4677
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 13:44. Заголовок: Игорь а вот так може..
Игорь а вот так можешь собрать ? C:\MiniGUI\Harbour\bin\hbmk2 test -lxhb -lhbwin
|
|
|
|
| |
Пост N: 530
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.15 13:48. Заголовок: Dima пишет: а вот т..
Dima пишет: так валится Error TOleAuto/-1 0x800401e3: TOLEAUTO:GETACTIVEOBJECT Called from THROW(0) Called from TOLEAUTO:GETACTIVEOBJECT(0) Called from GETACTIVEOBJECT(0)
|
|
|
|
| |
Пост N: 4678
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 13:52. Заголовок: Понял. Спасибо , зна..
Понял. Спасибо , значит я не одинок ;) Причем если хоть какой то документ Excel открыт то не упадет а если нет ни одного то падает.
|
|
|
|
| |
Пост N: 531
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.15 13:54. Заголовок: собирается еще так н..
собирается еще так но тоже падает C:\MiniGUI\Harbour\bin\hbmk2 test -lhbole падает и с минигуи , у меня во время теста ёксель висел открытый ))) значит не одинок ))
|
|
|
|
| |
Пост N: 4679
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 13:59. Заголовок: Интересно ;) Почему ..
Интересно ;) Почему ж тогда не упало при сборке батником из поставки Минигуи... Чую у тебя был загружен Excel в ходе эксперимента , потому как я тоже только что собрал с помощью этого батника и прога все равно упала , но уже с ошибкой Минигуи ;) Haz пишет: цитата: | падает и с минигуи , у меня во время теста ёксель висел открытый ))) |
| Пока я писал ты уже свою месагу исправил )))
|
|
|
|
| |
Пост N: 532
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.15 14:00. Заголовок: Dima пишет: Чую у т..
Dima пишет: цитата: | Чую у тебя был загружен Exce |
| правильно чуешь , была таблица в памяти - падает и с минигуи , у меня во время теста ёксель висел открытый )))
|
|
|
|
| |
Пост N: 4680
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 14:02. Заголовок: Получается Баг и эту..
Получается Баг и эту функцию как добавили в 2011 так с тех пор ни кто и не фиксил , видимо ни кто этот баг не ловил
|
|
|
|
|
| |
Пост N: 533
Зарегистрирован: 20.02.11
|
|
Отправлено: 06.04.15 14:12. Заголовок: Dima пишет: видимо ..
Dima пишет: цитата: | видимо ни кто этот баг не ловил |
| там стоит принудительное сообщение об ошибке , это спецом сделано IF Empty( ::__hObj := __oleGetActiveObject( cClass ) ) RETURN Throw( s_oleError() ) ENDIF
|
|
|
|
| |
Пост N: 4681
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 14:16. Заголовок: Haz пишет: там стои..
Haz пишет: цитата: | там стоит принудительное сообщение об ошибке , это спецом сделано |
| Жесть однако и не правильно. Значит бум юзать win_oleGetActiveObject , там все красиво и вернет NIL PS Это не баг конечно это не разумная фича.
|
|
|
|
| |
Пост N: 4682
Зарегистрирован: 17.05.05
|
|
Отправлено: 06.04.15 15:08. Заголовок: Можно сделать обёртк..
Можно сделать обёртку и юзать func _GetActiveObject() Local oExcel BEGIN SEQUENCE WITH {|e| Break( e )} oExcel:=GetActiveObject("Excel.Application") oExcel:DisplayAlerts:=.f. End SEQUENCE Return oExcel
|
|
|
|