Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/40: Рейтинг темы: голосов - 40, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 87

Ошибка Object doesn't support this property or method

19.05.2011, 12:27. Показов 7644. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте!
Сия ошибка возникает в связи вот с чем... прошу не обижать понимаю, что коряво я написал- нужда :-(

Существуют две почти одинаковые формы в проекте (по наследству его получил), надо обратиться к ЭУ по имени
With frm.msfgListSpec - тут и ругается VB (его конечно можно понять, но не хочется один и тот же код в двух формах писать)

Ваше мнение господа?
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Public Sub AnyMsfgListSpec_Click(frm As Object)
With frm.msfgListSpec
 If .MouseCol = 0 Then 'Пользователь выбрал мышью поле Специальность
   frm.cmbData(4).Move .CellLeft + .Left + frm.frame6.Left, .CellTop + .Top + frm.frame6.Top, .CellWidth    ', .CellHeight
   frm.cmbData(4).ZOrder 0
   frm.cmbData(4).Visible = True
 End If
 If .MouseCol = 1 Then 'Пользователь выбрал мышью поле Отделение
   frm.cmbData(5).Move .CellLeft + .Left + frm.frame6.Left, .CellTop + .Top + frm.frame6.Top, .CellWidth    ', .CellHeight
   frm.cmbData(5).ZOrder 0
   frm.cmbData(5).Visible = True
 End If
 If .MouseCol = 2 Then 'Пользователь выбрал мышью поле Основа
   frm.cmbData(6).Move .CellLeft + .Left + frm.frame6.Left, .CellTop + .Top + frm.frame6.Top, .CellWidth    ', .CellHeight
   frm.cmbData(6).ZOrder 0
   frm.cmbData(6).Visible = True
 End If
End With
End Sub
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
19.05.2011, 12:27
Ответы с готовыми решениями:

Ошибка Object doesn't support this property or method
При отправлении формы иногда(!) возникает ошибка 'Object doesn't support this property or method'. После перезапуска IIS всё опять...

Ошибка в VBA object doesn't support this property or method
Всем добрый день подскажите в чем ошибка object doesn't support this property or method error 438 вот скрин подскажите что не...

Ошибка Runtime eror '438'. Object doesn't support this property or method
Sub macro1() Dim wSheetName(1 To 5) As String wSheetName(1) = "КЦМР12" wSheetName(2) = "Forte Bank 12" ...

10
snov
19.05.2011, 12:55
Наше мнение следующее: Надо писать с каким контролом работаем и в каком месте ошибка вылетает.
А! кажется понял! у тебя вылетает ошибка в 4 строке, или нет!?
Просто в MS тупо написали реакцию на обработку события Resize для ComboBox при определенных стилях последнего(какие ща не помню).
Значит избежать этого можно так:Вместо cmbData(4).Move прописываем изменение параметров руками,т.е.
Code
1
2
3
cmbData(4).Left=..
cmbData(4).Top=..
cmbData(4).Width=..
Обрати внимание, что Height, не указан! При его обработке должна вылететь RTE (вроде ). Вообще-то попробуй мож получиться . Удачи
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 87
19.05.2011, 13:26  [ТС]
Спасибо за отклик!

Ошибка вылетает на строчке
With frm.msfgListSpec
где frm = Object-параметр функции (сюда передаю форму где расположен контрол с именем msfgListSpec типа MSFlexGrid)

возможен ли вообще такой подход?
думаю здесь должно быть какое-то преобразование к типу 'моих форм'...

кажется в Дельфи, например, новая форма - это класс который наследует от TForm... может что-то такое существует и у VB?

если так - то пробую такую схему:
1) получил в параметр нужную форму
2) выполнил преобразование - ВОПРОС - как?
3) обратился к контролу по имени
0
2 / 2 / 1
Регистрация: 19.07.2007
Сообщений: 737
19.05.2011, 13:31
вы правильно думаете, можно явно присвоить переменную:
Visual Basic
1
2
3
4
5
6
7
8
Dim f1 as Form1
 
set f1=frm
 
with f1.msfgListSpec
...
end with
set f1=nothing
0
snov
19.05.2011, 13:45
Вроде должно работать. проверь названия контролов на обоих формах.
А вообще Public Sub AnyMsfgListSpec_Click(frm As Object) смахивает на событие, или просто так определил процедуру?
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 87
19.05.2011, 13:49  [ТС]
тот же результат
0
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 87
19.05.2011, 13:51  [ТС]
а вот здесь - работает
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Public Sub SetCmdData_Key(fForm As Object, Index As Integer, Key As Long)
'процедура заполнения combobox из словаря с установкой в нужную позицию
'Index -combobox.index, Key - combobox.itemdata - в который устанавливается listindex
Dim rec As Object
Set rec = OpenRec('select ID, upper(Title) from glossary where groups=(select groups from glossary where id=' & Key & ') order by 2')
With fForm.cmbData(Index)
.Clear
Do Until rec.EOF
    .AddItem CStr(rec.Fields(1) & '')
    .ItemData(.NewIndex) = CInt(rec.Fields(0))
    If Key = CInt(rec.Fields(0)) Then .ListIndex = .NewIndex
rec.MoveNext
Loop
End With
rec.Close
End Sub
0
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 87
19.05.2011, 13:58  [ТС]
Visual Basic
1
Public Sub AnyMsfgListSpec_Click(frm As Object)
это так определил процедуру

событие было
Visual Basic
1
Public Sub msfgListSpec_Click(frm As Object)
не хочется такое событие писать для обеих форм

названия контролов msfgListSpec на обеих формах
0
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 87
19.05.2011, 14:01  [ТС]
ой
Visual Basic
1
Private Sub MsfgListSpec_Click(frm As Object)
конечно

- обработчик клика на ячейке грида
0
snov
19.05.2011, 14:10
Ну вот и ладушки! Вообще прописал бы в
Private Sub MsfgListSpec_Click(frm As Object)
frm as Form, так и методы при разработке будут доступны
0 / 0 / 0
Регистрация: 17.05.2011
Сообщений: 87
19.05.2011, 14:19  [ТС]
все заработало, я узнал много нового!
огромное спасибо всем!!!
побеждается моя ошибка правильным вызовом работоспособного кода :-)
Visual Basic
1
2
3
Private Sub msfgListSpec_Click()
 AnyMsfgListSpec_Click Me
End Sub
вместо ошибочного
Visual Basic
1
2
3
Private Sub msfgListSpec_Click()
 AnyMsfgListSpec_Click (Me)
End Sub
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
19.05.2011, 14:19
Помогаю со студенческими работами здесь

Ошибка Run-time error '438': Object doesn't support this property or method при транспонировании матрицы
Выдает ошибку Run-time error '438': Object doesn't support this property or method. Private Sub CommandButton1_Click() Dim a(),...

Object doesn't support this property or method макрос
вот в этой строчке ошибка .DataBodyRange.FormulaFormulaR1C1 = "=AVERAGE(:])" Sub SameSurnameStudents() Application.ScreenUpdating...

Object doesn't support this property or method, slides.InsertFromFile
При выполнении выходит ошибка "object doesn't support this property or method". Путь указан верно, вроде должно работать. Но после...

Object doesn't support this property or method microsoft access 2010
Здравствуйте. Возникает такая ошибка: Object doesnt' support this property or method при записи в поле. Конкретно выдает эту ошибку вот на...

Ошибка при выполнении команды "Вставить": Object doesn't support this property or method
Здравствуйте, пожалуйста, помогите разобраться в чем проблема. С макросами знакома только три недели. Есть две книги: old_book и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru