powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Почему так происходит?
7 сообщений из 7, страница 1 из 1
Почему так происходит?
    #34589195
Uzrptav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Я на грани отчаяния, подскажите, пожалуйста, где "косяк"?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
OLEObject ole1
GarbageCollect ( )

ole1 = CREATE OLEObject
rezult = ole1.ConnectToNewObject("excel.application")
      if rezult <>  0  then
        messagebox("Ole Error", string(rezult))
          else
	ole1.workbooks.open("c:\struk.xls")
//--------------
обработка
//--------------
ole1.Save()	
ole1.application.Workbooks.close
ole1.application.Quit
ole1.DisconnectObject()
DESTROY OLE1
       end if			
Почему то остается процес Excel.
Win Xp Sp2
Powerbuilder 7.0
Голова уже не соображает.
Заранее благодарю.
...
Рейтинг: 0 / 0
Почему так происходит?
    #34589330
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UzrptavПочему то остается процес Excel.

IMHO, надо помимо закрытия книги еще освобождать все полученные ссылки на sheets и books


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
IF IsValid(ole_sheet) THEN
	ole_sheet.DisconnectObject()
	DESTROY ole_sheet
END IF

IF IsValid(ole_excel) THEN
	ole_excel.Application.Quit
	ole_excel.DisconnectObject()
	DESTROY ole_excel
END IF
...
Рейтинг: 0 / 0
Почему так происходит?
    #34589335
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UzrptavПочему то остается процес Excel.

IMHO, надо помимо закрытия книги еще освобождать все полученные ссылки на sheets и books
Код: plaintext
1.
2.
3.
4.
5.
6.
...
ole_sheet.DisconnectObject()
DESTROY ole_sheet
ole_excel.Application.Quit
ole_excel.DisconnectObject()
DESTROY ole_excel
...
Рейтинг: 0 / 0
Почему так происходит?
    #34589348
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
OFFTOP
прикольный баг, сообщение запостилось вместо предпросмотра, но осталось в режиме редактирования :)
...
Рейтинг: 0 / 0
Почему так происходит?
    #34589912
Фотография Riska
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищи в
//--------------
обработка
//--------------
Возможно где-то остался открытый Sheet.
...
Рейтинг: 0 / 0
Почему так происходит?
    #34590209
Фотография voronk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ole_book = CREATE oleobject

IF NOT IsValid(ole_book) THEN
MessageBox(This.Title, 'Create fail.', Exclamation!)
DESTROY ole_book
close(this)
RETURN
END IF

i_irc = ole_book.ConnectToNewObject('excel.application')

IF i_irc <> 0 THEN
MessageBox(This.Title, 'Unable to connect to excel application.', Exclamation!)
DESTROY ole_book
Close(This)
RETURN
END IF

a_any = ole_book.Application.WorkBooks.Open('c:\struk.xls')

ole_sheet = ole_book.ActiveWorkBook.WorkSheets(1)

/*
обработка ...
*/

ole_sheet.DisconnectObject()

ole_book.Application.Quit
ole_book.DisconnectObject()

IF IsValid(ole_sheet) THEN
DESTROY ole_sheet
END IF

IF IsValid(ole_book) THEN
DESTROY ole_book
END IF

всё работает, я тоже на 7.

я вижу у тебя END IF, проверь их всех, возможно при какой-то кондиции ты не всё закрываеш.
...
Рейтинг: 0 / 0
Почему так происходит?
    #34591059
Uzrptav
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем большое! Ушел анализировать.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Почему так происходит?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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