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

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

OleVariant в DCOM [D5, Win95/98, Win2k]


MVova ©   (2002-05-15 17:15:00) 

Всем привет.

Ситуация следующая:
Есть DCOM сервер который должен клиенту вернуть TImagesListComponent записаный в OleVariant.
Если сервер находится на Win2000S и клиент на Win2000Pro то все работает прекрасно, но если клиент на 98 то зависает.
Прелесть в том что зависает только на определенной картинке (количество картинок значения не имеет, но иногда проходит нормально 1/100).

Сервер:
function TTestBMP.GetBMP: OleVariant;
var
MS : TMemoryStream;
P: Pointer;
begin
MS := TMemoryStream.Create;
try
MS.LoadFromFile("C:\temp\Str.txt");
Result := VarArrayCreate([0, MS.Size - 1], varByte);
P := VarArrayLock(Result);
try
Move(MS.Memory^, P^, MS.Size);
finally
VarArrayUnlock(Result)
end
finally
MS.Free;
end;
end;

Клиент:
procedure TForm1.Button1Click(Sender: TObject);
var IT : ITestBMP;
P : TImagesListComponent;
L : TImageList;
begin
P := TImagesListComponent.Create(nil);
if Edit1.Text = "" then
IT := CoTestBMP.Create
else
IT := CoTestBMP.CreateRemote(Edit1.Text);
LoadComponentFromOleVariant(IT.GetBMP,P);
L := TImageList.Create(nil);
LoadComponentFromOleVariant(TImagesListItem(P.List.Items[0]).FoleComponent,L);
L.GetBitmap(0,Image1.Picture.Bitmap);
end;

Функция на сервере доходит до последнего ENDа и зависает.
Локально тоже все работает.
В C:\temp\Str.txt записан TImagesListComponent с одной картинкой.

Есть подозрение на то, что всети есть NT4S домен, может он "кусается" с Win200S? (но почему только на этой картинке???).

Если у кого есть желание попробовать могу скинуть на мыло клиент, сервер и файл с которым происходит даный казус.


MVova   (2002-05-15 18:01:00) [1]

Почему тишина???????????


Наверх

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