![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
COM-server в design-time не выгружается... [Win2k]
Wetnose © (2002-10-11 09:20:00)Создал на C# компонент, типа:
...
using System.Runtime.IntropService;
namespace Wetnose.Test
{
[Guid("...")]
public interface IMyIface
{
...
}
[Guid("...")]
public class MyClass : IMyIface
{
public MyClass()
{
// специально показываю форму, чтобы видеть,
// когда сервер загружен ...
new System.Windows.Forms.Form().Show();
}
...
}
}
всё собралось и зарегистрировалось.
Нарисовал компонет на Delphi (7), котрый юзает
данный сервак:
type
TMyClass = class(TComponent)
private
FServer: Variant;
...
published
property ServerName: String;
property Active: boolean read FActive write SetActive;
end;
...
procedure TMyClass.SetActive(Value: boolean);
begin
...
FServer := Unassigned;
if Value
then
FServer := CreateOleObject(ServerName);
...
end;
В дизайнере бросаю компонент на форму.
Задаю:
ServerName -> "Wetnose.Test.MyClass"
Active -> true
Сервер загружается (вижу форму, создаваемую сервером).
Active -> false
Форма сервера не исчезает!!!
Active -> true
Error: Параметр задан неверно!!!
Что не так? почему сервер не выгрузился?
Excel.Application, например, выгружается (гад)!
Что мене делать? Пока Delphi не закроешь, сервер работает!
Wetnose (2002-10-11 11:26:00) [1]А как выключить сервер? Как это обычно делают?
AndreyAG (2002-10-11 10:20:00) [2]Всё верно! если ты подгрузил компонент, то ты сразу его включил.
Предусмотри функцию включения сервера!