Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Изменение свойств объектов, указанных в переменных


Автор: GreatReaper 14.9.2005, 16:43
Пусть gObject, gProperty, gValue – следующие переменные:
gObject - название некоторого объекта
gProperty - название некоторого свойства gObject
gValue - значение свойства gProperty

Как должен выглядеть код, который свойству gProperty объекта gObject присваивает значение gValue?

Автор: boevik 14.9.2005, 16:50
Если это propery простого типа то:
Код

gObject.gProperty = gValue 


Если класс, то
Код

SET gObject.gProperty = gValue 


Автор: Akina 14.9.2005, 17:32
А если gObject, gProperty, gValue - это стринговые (последняя - возможно иного типа) переменные:

Код

Declare Function EbExecuteLine Lib "vba6.dll" (ByVal pStringToExec As Long, ByVal Foo1 As Long, ByVal Foo2 As Long, ByVal fCheckOnly As Long) As Long
Dim cmdStr As String
cmdStr = "SET " & Trim(gObject) & "." & Trim(gProperty) & "=" & CStr(gValue)
If EbExecuteLine(StrPtr(cmdStr), 0&, 0&, False) = 0 Then MsgBox "Команда не выполнена."

Автор: Plamenk 15.9.2005, 08:43
Цитата
(последняя - возможно иного типа)


Почему последняя? ещё ест:

Код

Function CallByName(Object As Object, ProcName As String, CallType As VbCallType, Args() As Variant)



Автор: Akina 15.9.2005, 09:37
Цитата(Plamenk @ 15.9.2005, 09:43)
Почему последняя?

Последняя - имелось в виду переменная, т.е. gValue. Не все свойства - стринги...

Автор: GreatReaper 15.9.2005, 09:52
Спасибо за поддержку smile
CallByName - именно то, что было нужно.

Автор: Plamenk 15.9.2005, 12:51
2 Akina Извини, действительно я не правильно понял!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)