Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.11;
Скачать: CL | DM;

Вниз

Как в Midas вернуть результатом работы функции динамический массив ?   Найти похожие ветки 

 
Barmutik ©   (2002-03-20 16:28) [0]

Возикла проблема:

Вызывается функция у сервера и он должен вернуть окромя данных ещё и массив интов как парамтер out.

Как это делается ?

Киньте примерчик или расскажите где почитать...


 
Dok_3D ©   (2002-03-20 17:19) [1]


var v : OleVariant;
begin
v:=VarArrayCreate([0,10],varInteger);
v[0]:=2;
v[1]:=3;
Connection.AppServer.MyProcedure(v);
end;

Суть в том, что твои инты нужно передавать вариантными массивами.
Если параметр выходной, то делаешь VarArrayCreate в методе на сервере приложений.



 
OlegE ©   (2002-03-20 17:21) [2]

VarArrayCreate или VarArrayOf. В help очень хорошо написано.


 
Barmutik ©   (2002-03-21 10:49) [3]

Ок ! Спасибо ! Прочитал.. осталось попробовать.

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

Задача состоит в том что необходимо произвести выбор данных на сервере и критерием являет графическое изображение.

Для небольших изображений я это делал очень "неправильным"
способом. Для изображений чуть больше этот способ не подходит.

Подскажите плиз. Заранее спасибо.


 
OlegE ©   (2002-03-21 11:36) [4]

TOleGraphic.Picture
Specifies the interface reference for which the OLE graphic is a container.
property Picture: IPicture;

Description
Picture is for internal use only.

Проверил. Нормально передает BMP, JPEG - размер 300-1600 к.
"Чуть побольше" - это сколько?


 
Dok_3D ©   (2002-03-21 13:52) [5]

2 Barmutik ©

Гм...
Ты про это говоришь ?

var P ,P1 - pointer
buff OleVariant
begin
fs:=TFileStream.Create("d:\BigImage.bmp", fmOpenRead);
GetMem(P,fs.size);
fs.ReadBuffer(P^,fs.size); - читаем из потока в P^
buff:=VarArrayCreate([0,fs.size],varByte);
P1:=VarArrayLock(buff);
move(P^,P1^,fs.size); - перемещаем из P^ в массив buff
VarArrayUnLock(buff);
FreeMem(P,fs.size);
fs.Free;

Connection1.AppServer.Method1(buff);
end;

или нет ?



Страницы: 1 вся ветка

Текущий архив: 2002.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.011 c
6-32911
Delphimun
2002-01-17 17:07
2002.04.11
Как мне модофицировать файл, который находится на интернет сервере?


1-32786
Vcoder
2002-03-30 20:41
2002.04.11
Формат Base64 или UUE - кодирования


14-32949
IronHawk
2002-02-22 16:23
2002.04.11
Мастера Delphi ! ПРО САЙТ И ЕГО ОБИТАТЕЛЕЙ !


6-32933
Ivanov Vova
2002-01-22 15:41
2002.04.11
Мастера, помогите ламеру, плз.


1-32886
Толик
2002-03-27 16:11
2002.04.11
И снова про вызовы функций-членов