Главная страница
    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.006 c
1-32852
Anton+
2002-03-29 08:20
2002.04.11
Как создать удалить файл?


1-32873
mike.dld
2002-03-29 14:13
2002.04.11
Номер символа


14-32943
VID
2002-02-25 18:43
2002.04.11
Подсветка HTML и др.


6-32932
Victor
2002-01-25 16:15
2002.04.11
Широковещательные сообщения по сети


3-32678
pusrg
2002-03-20 18:01
2002.04.11
Повреждение индексов в таблицах Paradox.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский