![]() |
#1 |
Участник
|
передача массива
подскажите, пожалуйста, как передать заполненный массив из класса в метод датасурса формы? Заранее спасибо.
|
|
![]() |
#2 |
Moderator
|
Форма вызывается из этого класса? Тогда передать в форму ссылку на экземпляр класса, а в классе реализовать метод, возвращающий этот заполненный массив.
В общем, одно из практических следствий ООП - мы не передаем кучу параметров, мы передаем сущность(объект), у которой впоследствии можем спросить все что нам надо. |
|
![]() |
#3 |
Участник
|
нет, форма вызывается не из класса, а просто открывается. Наоборот, при открытии формы вызывается метод класса, который заполняет массив, а потом при проведении действий на форме срабатывает метод, в который и надо передать этот массив
|
|
![]() |
#4 |
Участник
|
ну так тоже самое.. есть экземпляр класса... в нем написать метод, который возврящает объект типа массив...
|
|
![]() |
#5 |
Участник
|
какого типа должен быть метод ( в смысле -тип возвращаемого результата)
|
|
![]() |
#6 |
Участник
|
вернее, как правильно написать -int[ ] method или как?
|
|
![]() |
#7 |
Участник
|
тип возвращаемого объекта, должем быть таким же как и тип принимаемого))
может повторюсь, но "В общем, одно из практических следствий ООП " и нетолько |
|
![]() |
#8 |
Участник
|
принимаем мы массив. Например int ItemId[ ]. Тип возвращаемого значения соотвтественно -массив. Если написать int[ ] method , то выдает ошибку, как правильно написать в методе тип возвращаемого результата? Может быть, расширенный какой-нибудь тип создать?
|
|
![]() |
#9 |
Участник
|
Ну напиши например как внаписано в классе winapi
PHP код:
|
|
![]() |
#10 |
Участник
|
Если посмотреть в грамматику X++, то видно, то
метод/функция не может возвращать массив. Впрочем, принимать массив как параметр тоже не может. Но если тип является массивом, то можно. Лучше посмотрите на класс array или на контейнер. |
|
![]() |
#11 |
Участник
|
Цитата:
Изначально опубликовано sev
Например int ItemId[ ]. В Аксапте ввели примитивный тип контейнер и переопределили (overload) квадратные скобки. В Аксапте конструкция [x,y,z] означает не массив, а контейнер. Что здорово сбивает с толку поначалу. |
|
![]() |
#12 |
Участник
|
вот! Я об этом же. Спасибо, что поняли меня ).
|
|
![]() |
#13 |
Участник
|
только все равно не понятно до конца, как это всё оформить...(
|
|
![]() |
#14 |
Модератор
|
Что именно надо передать?
Используй класс Array. Если таблица - юзай RecordSortedList. С Уважением, Георгий. |
|
![]() |
#15 |
Участник
|
ну или так
container getContainer () { container c; //можно заполнить в другом месте)) c=[Id1,Id2...Idn]; return c; } |
|
![]() |
#16 |
Участник
|
Но в случае с container нада обрать на строгость порядка элементов в контенере для корректного примема данных из него..
|
|
![]() |
#17 |
Участник
|
при этом Id1, Id2, ID3 - могут быть int ? Ругается на несовместимость типов
|
|
![]() |
#18 |
Участник
|
Цитата:
Изначально опубликовано sev
при этом Id1, Id2, ID3 - могут быть int ? Ругается на несовместимость типов что вы именно пишете? |
|
![]() |
#19 |
Участник
|
Цитата:
Изначально опубликовано sev
при этом Id1, Id2, ID3 - могут быть int ? Ругается на несовместимость типов например, с = [3.25, Руб, КТ000017]. главное, когда вы принимаете из контейнера данные... чтобы переменные совпадали с типом данных соответствующих значений real price = 3.25, CurrencyCode сurrencyCode = "руб" Voucher voucher = "КТ000017" |
|
![]() |
#20 |
Moderator
|
К сведению, может map поможет.
Думаю, что можно рассматривать решение с map как вариант
PHP код:
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|