<lo-ru-tg>
<woodyfire> Dim variable3 as new typeTest
<lo-ru-tg>
<Mike> Первое и второе - практически одно и то же. В результате получается переменная типа объект, в первом случае туда уже положен объект нужного класса, во втором - присвоение делает это.
<lo-ru-tg>
<Mike> Теоретически третий вариант мог бы отличаться для классов с конструктором. Но у пользовательского типа нет конструктора, так что и этот вариант делает здесь то же самое.
<lo-ru-tg>
<woodyfire> Я правильно понимаю, что для пользовательской структуры все равно. А вот объявляя UNO структуру лучше использовать New
<lo-ru-tg>
<Mike> не лучше, а обязательно
<lo-ru-tg>
<Mike> там есть конструктор
<lo-ru-tg>
<Mike> нельзя создать неинициализированный такой объект
<lo-ru-tg>
<Mike> но для UNO можно использовать и CreateObject
<lo-ru-tg>
<woodyfire> Я так понимаю в принципе оба способа одинаковы в итоге. Оба используют фабрику по созданию экземпляров объектов. Что приводит к выделению памяти из кучи.
<lo-ru-tg>
<Mike> Ооооо, а причём тут куча? в бейсике вы вообще не управляете аллокацией, и на самом деле всё выделяется из кучи
<lo-ru-tg>
<Mike> As New позволяет передавать аргументы в конструктор - так что не одинаковы
<lo-ru-tg>
<Mike> но если используется конструктор без аргументов (чаще всего) - то да
<lo-ru-tg>
<woodyfire> ну в бейсике нет доступа. Но работа фабрики и имеющиеся конструкторы и деструкторы. Разве это не работа с кучей и т.д.
<lo-ru-tg>
<Mike> нет
<lo-ru-tg>
<woodyfire> Это уже низкий уровень
<lo-ru-tg>
<Mike> это уровень передачи аргументов, а не уровень выделения памяти
<lo-ru-tg>
<Mike> и про деструкторы речь не шла 😉
<lo-ru-tg>
<woodyfire> нет не шла. Но если есть конструктор, то и деструктор имеется. Без него никуда
<lo-ru-tg>
<Mike> вообще и на низком уровне конструктор/деструктор и выделение памяти - ортогональные понятия; можно выделять из кучи без конструкторов, а можно вызывать конструкторы для объектов в стеке
<lo-ru-tg>
<Mike> а это тут причём? если начинать говорить про то, без чего никак - то мы вообще в сторону уйдём
<lo-ru-tg>
<woodyfire> не будем углубляться. Все равно контроль за этим не в basic
<lo-ru-tg>
<woodyfire> согласен.
<lo-ru-tg>
<Mike> ещё раз: все те варианты отличаются не выделением памяти, а инициализацией выделенных объектов
<lo-ru-tg>
<woodyfire> Ок
<lo-ru-tg>
<woodyfire> Dim variable1 as typeTest
<lo-ru-tg>
<woodyfire> то есть этот вариант имеет право жить
<lo-ru-tg>
<Mike> конечно
<lo-ru-tg>
<woodyfire> Спасибо.
<lo-ru-tg>
<woodyfire> Хорошая документация спору нет. Но у меня пока еще трудности с пониманием объектной модели.
<lo-ru-tg>
<woodyfire> каким образом можно получить номер выбранной позиции у ComboBox
<lo-ru-tg>
<woodyfire> ?
<lo-ru-tg>
<woodyfire> Я пока вижу один вариант.
<lo-ru-tg>
<woodyfire> Dim aArrayData(5,5)
<lo-ru-tg>
<woodyfire> Dim iPosition as Short
<lo-ru-tg>
<woodyfire> Dim cmbObject as ComboBox
<lo-ru-tg>
<woodyfire> For i=LBound(aArrayData,1) to UBound(aArrayData,1)
<lo-ru-tg>
<woodyfire> If aArray(i,0)=cmbObject.Text Then
<lo-ru-tg>
<woodyfire> iPosition = i
<lo-ru-tg>
<woodyfire> End If
<lo-ru-tg>
<woodyfire> Next i
<lo-ru-tg>
<woodyfire> Правда вместо For возможно лучше использовать While. Так как можно остановить поиск.
<lo-ru-tg>
<woodyfire> Но хочется верить, что я не там смотрю или чего то не знаю и есть метод получения позиции готовый у ComboBox
<lo-ru-tg>
<woodyfire> кто знает?
<lo-ru-tg>
<Mike> Всё Вы правильно говорите: для комбобокса нет позиции выбора, а есть только текст. Выпадающий список для комбобокса - всего лишь вспомогательное средство заполнить текстовое поле
<lo-ru-tg>
<Mike> и в принципе там может быть и значение вообще не из списка, в отличие от листбокса
<lo-ru-tg>
<woodyfire> да, я начал впиливать в код
<lo-ru-tg>
<woodyfire> Do
<lo-ru-tg>
<woodyfire> так как мне нужно значение не то что видет пользователь, а то что имеется в массиве данных. К примеру идентификатор записи в СУБД к примеру или чего душа пожелает.
<lo-ru-tg>
<woodyfire> Loop Until condition
<lo-ru-tg>
<woodyfire> Block
JohnDoe_71Rus has quit [Ping timeout: 268 seconds]
JohnDoe_71Rus has joined #libreoffice-ru
JohnDoe_71Rus has quit [Quit: KVIrc KVIrc Aria 5.0.1, revision: 5.0.1+git-7433-0df9f22f2, build type: debug, sources date: 20160102, built on: 2019-12-08 19:19:20 UTC 5.0.1+git-7433-0df9f22f2 http://www.kvirc.net/]