powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / При закрытии формы процесс остается висеть в памяти
9 сообщений из 9, страница 1 из 1
При закрытии формы процесс остается висеть в памяти
    #38493356
Расчетчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Есть приложение в форме которого выводятся результаты расчетов, а так же кнопка вывода результатов в Word. Если я просто закрываю форму, то приложение тоже выгружается из памяти. Если же я нажимаю кнопку и загружаю документ, то при закрытии формы программа остается висеть в памяти (процесс висит в диспетчере задач).
Вызываю Word так
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
    Dim DocApp As Object
    Dim Doc As Word.Document
    Dim d1 As Object
    Set DocApp = CreateObject("Word.Application")
    Set Doc = DocApp.Documents.Open(App.Path & "\Result.docx", True)
    Doc.Activate
    
    'Вносим данные

    Doc.Visible=True


Была мысль, что надо освободить переменные связанные с Word
Код: vbnet
1.
2.
    Set Doc=Nothing
    Set DocApp=Nothing


Не помогло. Да и мне всегда казалось, что при завершении процедуры локальные переменные уничтожаются автоматически.
При открытом документе Word происходит только Unload формы. Это тоже не помогло
Код: vbnet
1.
2.
3.
    Private Sub Form_Unload(Cancel As Integer)
         Application.Quite
    End Sub


Прошу помочь с данным вопросом. Заранее спасибо.
...
Рейтинг: 0 / 0
При закрытии формы процесс остается висеть в памяти
    #38493441
Фотография lbppb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Расчетчик,

Попробуйте

Код: vbnet
1.
2.
Doc.Close True
DocApp.Quit
...
Рейтинг: 0 / 0
При закрытии формы процесс остается висеть в памяти
    #38493494
Расчетчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
lbppbРасчетчик,

Попробуйте

Код: vbnet
1.
2.
Doc.Close True
DocApp.Quit



Данный код сохраняет и закрывает документ и приложение. А мне бы хотелось, документ и прога были бы независимы.
...
Рейтинг: 0 / 0
При закрытии формы процесс остается висеть в памяти
    #38493510
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
РасчетчикlbppbРасчетчик,

Попробуйте

Код: vbnet
1.
2.
Doc.Close True
DocApp.Quit



Данный код сохраняет и закрывает документ и приложение. А мне бы хотелось, документ и прога были бы независимы.
странный ты парень...
"в данном коде" - 2-е строки
1-ая - закрывает документ
2-ая - закрывает приложение

если ты не хочешь закрывать приложение - убери 2-ую строку, и всё ...
...
Рейтинг: 0 / 0
При закрытии формы процесс остается висеть в памяти
    #38493521
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Расчетчикмне всегда казалось, что при завершении процедуры локальные переменные уничтожаются автоматически.так оно и есть - объектная переменная (ссылка на объект) уничтожается. Но самому объекту от того ни холодно ни жарко.
...
Рейтинг: 0 / 0
При закрытии формы процесс остается висеть в памяти
    #38493542
Расчетчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112Расчетчикпропущено...


Данный код сохраняет и закрывает документ и приложение. А мне бы хотелось, документ и прога были бы независимы.
странный ты парень...
"в данном коде" - 2-е строки
1-ая - закрывает документ
2-ая - закрывает приложение

если ты не хочешь закрывать приложение - убери 2-ую строку, и всё ...

DocApp - это приложение Word. Мне бы хотелось, что бы при открытом документе, пользователь мог закрыть мое приложение и продолжать спокойно работать с документом Word.
...
Рейтинг: 0 / 0
При закрытии формы процесс остается висеть в памяти
    #38493546
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
РасчетчикDocApp - это приложение Word. Мне бы хотелось, что бы при открытом документе, пользователь мог закрыть мое приложение и продолжать спокойно работать с документом Word.
так не закрывай его,
сделай
Код: vbnet
1.
2.
3.
DocApp.Visible=True
DocApp.usercontrol=True ' если у ворд-апп есть такое свойство ?
Set DocApp=Nothing


и всё
...
Рейтинг: 0 / 0
При закрытии формы процесс остается висеть в памяти
    #38493562
Расчетчик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwerty112РасчетчикDocApp - это приложение Word. Мне бы хотелось, что бы при открытом документе, пользователь мог закрыть мое приложение и продолжать спокойно работать с документом Word.
так не закрывай его,
сделай
Код: vbnet
1.
2.
3.
DocApp.Visible=True
DocApp.usercontrol=True ' если у ворд-апп есть такое свойство ?
Set DocApp=Nothing


и всё
Отсюда
Для приложения Word параметр UserControl доступен только для чтения. Его невозможно установить со значением True или False. Приложение Word всегда остается запущенным после выпуска последней ссылки.
...
Рейтинг: 0 / 0
При закрытии формы процесс остается висеть в памяти
    #38494100
Фотография lbppb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Расчетчик
qwerty112пропущено...

так не закрывай его,
сделай
Код: vbnet
1.
2.
3.
DocApp.Visible=True
DocApp.usercontrol=True ' если у ворд-апп есть такое свойство ?
Set DocApp=Nothing


и всё

Отсюда
Для приложения Word параметр UserControl доступен только для чтения. Его невозможно установить со значением True или False. Приложение Word всегда остается запущенным после выпуска последней ссылки.

Я сначала не правильно понял задачу, ну, а в чем проблема с тем, что приложение висит в памяти? Памяти жалко или что-то глючит? Винда рано или поздно просечет, что память нужно почистить. И вообще это проблема Interop. Мелкомягкие очень не рекомендуют его использовать, по-крайней мере в C#, вместо этого есть Open XML SDK, подозреваю, что должна быть библиотека, которую можно будет прикрутить к VB6.
Как вариант попробуйте создавать документ через Shell, правда не уверен, что тогда можно будет его редактировать.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / При закрытии формы процесс остается висеть в памяти
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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