Форум: "Основная";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
ВнизЕсть ли у процесса окно? Найти похожие ветки
← →
Andriy (2003-07-23 12:41) [0]Так как отличить процесс, у которого есть окно, от процесса, у котрого его нет? Напр. Ексель.
← →
Виктор Щербаков (2003-07-23 12:53) [1]EnumWindows
GetWindowThreadProcessId
← →
Digitman (2003-07-23 13:06) [2]
> Напр. Ексель
С каких это пор Excel перестал быть GUI-приложением и с тех пор, якобы, не имеет окна ?
← →
Игорь Шевченко (2003-07-23 13:27) [3]А никак!
← →
Andriy (2003-07-23 16:06) [4]Что означает "никак"?
For Digitman:
Я запускаю Ексел (CreateOleObject(...)), потом работаю с ним через вариант
средствами VisualBasic. Выхожу из него(XL.Quit; XL.Close;), а он с процесов
не снимается. Прикол или прокол?
← →
clickmaker (2003-07-23 17:06) [5]А XL.Disconnect сделать ?
← →
nikkie (2003-07-23 17:17) [6]XL := nil;
← →
Игорь Шевченко (2003-07-23 17:18) [7]Andriy (23.07.03 16:06)
Никак означает никак. И больше ничего.
← →
Andriy (2003-07-23 18:41) [8]Неужели всё так плохо и нет выхода?
← →
clickmaker (2003-07-23 19:11) [9]XL := CreateOleObject(
try
...
finally
XL.Quit;
XL.Disconnect;
XL := nil;
end;
прекрасно работает, все открывает и закрывает
← →
Song (2003-07-23 20:23) [10]Удалено модератором
Примечание: Offtopic
← →
Andriy (2003-07-24 10:55) [11]Спасибо! Попробую.
Честно говоря, что-то похожее пробовал, только без
"XL := nil;".
А разве можно варианту присвоить nil?! У меня матерится на это.
Только что попробовал этот кусок. На "XL.Disconnect;" тоже матерится.
Может потому-что у меня XP Office?
Переменная XL у меня типа вариант!
Помогите снять висячий Ексель!
← →
clickmaker (2003-07-24 10:59) [12]Варианту можно присвоить Null или Unassigned. Эффект тот же
← →
Игорь Шевченко (2003-07-24 11:02) [13]XL := NULL
← →
Andriy (2003-07-24 14:12) [14]Та делал я это ещё раньше - не помогает!
← →
Игорь Шевченко (2003-07-24 15:13) [15]А XL.Quit тоже делал ?
<moderator>
И вообще, какое отношение имеет выяснение способа завершения работы с Excel к форуму WinApi ?
</moderator>
← →
nikkie (2003-07-24 15:21) [16]>Andriy
У тебя остаются ссылки на объекты Excel, которые не освобождены. Надо освобождать.
Приведи (желательно минимальный) код, который приводит к тому, что Excel остается в памяти.
← →
Digitman (2003-07-24 15:27) [17]
> Andriy (23.07.03 16:06)
> Что означает "никак"?
> For Digitman:
> Я запускаю Ексел (CreateOleObject(...)), потом работаю с
> ним через вариант
> средствами VisualBasic. Выхожу из него(XL.Quit; XL.Close;),
> а он с процесов
> не снимается. Прикол или прокол?
К окнам-то, которые Excel открывает или не открывает, которые видны или не видны при работе с Excel как с сервером автоматизациии, это все какое отношение имеет ?
← →
Andriy (2003-07-24 15:49) [18]>И вообще, какое отношение имеет выяснение способа завершения работы с Excel к форуму WinApi ?
Я же с начала писал, что хочу снять процесс, у которого нет окна.
Это потому, что Ексель Остаётбся в процессах. А если вслепую все Ексели снимать, то открытые пользователем тоже вырубаются. А зачем?
>Nikkie
Вот укороченый код. Спасибо за понимание! Все бы такими были хорошими!
procedure LoadFromExcel(MD: TdxMemData);
var XL: Variant;
Nom, I, Code: Integer;
begin
XL:=Unassigned;
Nom:=1;
if VarIsEmpty(XL) then try
XL:=CreateOleObject("Excel.Application");
XL.WorkBooks.Open(ExtractFileDir(Application.ExeName) +PathDelim+XLS_DIR+PathDelim+FILENAME);
Val(XL.WorkSheets[WORKSHEET].Range[ID+IntToStr(Nom)], I, Code);
while Code=0 do
begin
with MD do
begin
//
FieldByName("ID").AsInteger:=I;
Inc(Nom);
Val(XL.WorkSheets[WORKSHEET].Range[ID+IntToStr(Nom)], I, Code);
end;
finally
XL.WorkBooks.Close;
XL.Quit;
XL:=NULL;
XL:=Unassigned;
end;
end;
← →
nikkie (2003-07-24 16:26) [19]>Все бы такими были хорошими!
А если бы все публиковали код, который по крайней мере компилялся бы, то я бы знаешь какой добрый был? Уууу...
У меня этот код excel97 в процессах не оставляет.
← →
dick (2003-07-24 16:43) [20]Сделай Excel видимым и посмотри, что там происходит.
Может он у тебя подтверждение на сохранение просит.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.07;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.015 c