|
|
|
Вернуть массив из com-сервера
|
|||
|---|---|---|---|
|
#18+
вобщем не сам массив, а объект со свойством типа "массив" конечно же.... закралось у меня сомнение, а такое вообще возможно? а то может я зря мучаюсь? Код: plaintext 1. 2. 3. 4. 5. 6. 7. метод sel_values() на com-сервере Код: plaintext 1. 2. 3. 4. 5. 6. 7. вот я никак и не пойму, а чего в результате всех этих фрикций мне возвращает com-сервер :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 16:33 |
|
||
|
Вернуть массив из com-сервера
|
|||
|---|---|---|---|
|
#18+
автора вот перебор элементов FOR i = 1 TO ALEN(m.loObject.aArray) не возможен: фокс ругается на если масив не одномерный, то ошибка вполне объяснима. Вы выходите за рамки масива. Т.е. ALEN возвращаем общее число элементов. Т.е. если масив двумерный, то нужно: FOR i = 1 TO ALEN(m.loObject.aArray)/2 и т.д. может в этом дело :) P.S. лучше перебздеть чем не добздеть :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 18:29 |
|
||
|
Вернуть массив из com-сервера
|
|||
|---|---|---|---|
|
#18+
вот хотел опустить конструкцию FOR...ENDFOR, зная, что кто-то придерётся именно к ней, хотя написана она здесь образно и специально закомментирована... всё же думаю, что людям, которые могут посоветовать, что-нибудь дельное по теме "возвращение массива из com-сервера клиенту" и так понятно, как надо перебирать элементы массива..... а основной вопрос темы не то как перебирать элементы массива, а собсно вообще возможно вернуть массив из com-сервера? (вобщем-то делаю по аналогии возращения массива из функции) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.06.2007, 23:34 |
|
||
|
Вернуть массив из com-сервера
|
|||
|---|---|---|---|
|
#18+
КонецЦикла * функция VARTYPE(loObject.aArray[1]) возвращает L, значит всё-таки чего-то возвращается, L - означает, что переменная логического типа. Применительно к массивам, это происходит, если массив только был создан, но еще не заполнен. Может, по команде Select просто ничего не было выбрано? КонецЦикла * а вот перебор элементов FOR i = 1 TO ALEN(m.loObject.aArray) не возможен: фокс ругается на * размерность массива Как ругается-то? Каким словами? КонецЦиклавот я никак и не пойму, а чего в результате всех этих фрикций мне возвращает com-сервер :)) А в принципе, какой-либо объект из Com-сервера можно вернуть? Ну, например, тот же Custom с кучей свойств? Пусть эти свойства НЕ массивы. В этом же примере можно, например, прочитать Код: plaintext Что-то у меня сомнения, что такое возможно в принципе... Кроме всего прочего, я не понимаю зачем это все надо? Ведь можно обратится напрямую к свойствам Com-сервера и прочитать все что надо: метод sel_values() на com-сервере Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Обращение к Com-серверу Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 11:43 |
|
||
|
Вернуть массив из com-сервера
|
|||
|---|---|---|---|
|
#18+
разобрался, действительно селект просто ничего не отбирал... но ругается вот на что alen(loObject.aArray) Function argument value,type,or count is invalid не пойму, чем функция alen() не нравиться фоксу (VFP6) а вот обратиться к элементам по индексам даёт, т.е. loObject.aArray(1,1), loObject.aArray(1,2) заполнены нужными значениями.... ЗЫ. действительно, сделаю-ка напрямую..... Спасибо за наводку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 12:03 |
|
||
|
Вернуть массив из com-сервера
|
|||
|---|---|---|---|
|
#18+
2 ВладимирМ сделал так Код: plaintext 1. 2. 3. 4. 5. опять сначала 6-ой фокс ругается на ALEN(m.ox.aArray) Function argument value,type,or count is invalid ставлю FOR m.lnI = 1 TO 10 ругается уже по-другому OLE error code.....:Неизвестное имя ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 12:17 |
|
||
|
Вернуть массив из com-сервера
|
|||
|---|---|---|---|
|
#18+
КонецЦикларугается уже по-другому OLE error code.....:Неизвестное имя Так свойство-то создал? Точнее, существует ли это свойство в момент обращения к нему? Думаю, здесь проблема в том, что Com-объект - это все-таки внешний объект. А функция ALEN() предполагает работу с некоторой внутренней структурой именно среды FoxPro. Т.е. FoxPro просто не может "перевести" структуру внешнего объекта под свои потребности. С его точки зрения, это действительно некорректный аргумент функции. Т.е. аргумент, неизвестной структуры. Ведь структура известна только самому объекту, но не среде FoxPro. Хотя, это только мои предположения. Точно не уверен... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 12:26 |
|
||
|
Вернуть массив из com-сервера
|
|||
|---|---|---|---|
|
#18+
с "Неизвестным именем" похоже вот в чём дело: при таком создании нового свойства This.AddProperty("aArray[1,1]") появляется OLE error code.....:Неизвестное имя а вот если в самом прокте добавить свойство aArray[1,1], и потом скомпилировать, то такого сообщения нет.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2007, 13:01 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=34610105&tid=1589115]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
2ms |
| others: | 194ms |
| total: | 336ms |

| 0 / 0 |
