Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
ВнизOleVariant в DCOM Найти похожие ветки
← →
MVova (2002-05-15 17:15) [0]Всем привет.
Ситуация следующая:
Есть 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) [1]Почему тишина???????????
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.27;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c