Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

Всё верно! если ты подгрузил компонент, то ты сразу его включил.
Предусмотри функцию включения сервера!


Наверх

Титульная страница Поиск, карта сайта Написать письмо