Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Вниз

Как в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
1-32847
IronHawk
2002-03-27 17:15
2002.04.11
Как мне с моей прогой перенести и BDE 4.xx скопирить на другой ком и при етом шоб всё работало ?


1-32792
Demon Ltd
2002-04-01 00:44
2002.04.11
Работа с меню


7-32996
Сергей Чурсин
2002-01-16 16:02
2002.04.11
Как убрать записи о неверных P&P устройствах ?


1-32858
DimaIv
2002-03-29 05:01
2002.04.11
Подскажите плиз. Как программно удалить файл.


6-32916
j21
2002-01-26 18:37
2002.04.11
Inet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский