32 / 29 / 1
Регистрация: 06.01.2017
Сообщений: 297
1

Не даёт задать переменную в качестве параметра процедуры

31.10.2017, 13:31. Показов 2266. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проблема такая.
1. Определил в отдельном модуле тип:

Visual Basic
1
2
3
4
5
6
Type TConfig
  YFrst       As Long
  Ybeg        As Long
  Yend        As Long
  Suffix    As String
End Type
2. В другом модуле задал переменную этого типа
Visual Basic
1
Public Config As TConfig
3. В третьем модуле расположена процедура чтения переменной с соответствующей страницы документа Excel

Visual Basic
1
2
3
4
5
6
Public Sub ReadConfig(wb As Workbook, ConfigP)
 Dim ws As Worksheet, iR As Range, iRKW As Range
 Dim KeyWords As Variant, k0 As Long, kk As Long, k As Long, r As Long, c As Long
 Dim v As Variant
 ...........
End Sub
4. И вот когда в четвёртом модуле вызываю эту процедуру
Visual Basic
1
Call ReadConfig(wb:=ThisWorkbook, ConfigP:=Config
начинается ругань вот такого содержания

Compile error

Only user-defined types defined public object modules can be coerced to or from a variant or passed to late-bounded functions


Чтобы это значило, а главное - как заставить процедуру работать?

=========================
Методом тыка заставил работать!

Надо было задавать тип параметра, вот так:
Visual Basic
1
Public Sub ReadConfig(wb As Workbook, ConfigP As TConfig)
Оставляю, может пригодится кому
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2017, 13:31
Ответы с готовыми решениями:

Использование имени процедуры в качестве параметра другой процедуры
Составить программу по заданному условию. Первая часть условия является заданием на разработку...

Использование имени процедуры в качестве параметра другой процедуры
Составить программу по заданному условию.Первая часть условия является заданием на разработку...

Использование имени процедуры в качестве параметра другой процедуры
Для заданного массива В составить процедуру, определяющую отрезок, на который попадают заданного...

Использование имени процедуры в качестве параметра другой процедуры
Help! Для массива С из n элементов составить процедуру, которая находит значения m наименьших его...

3
es geht mir gut
11271 / 4753 / 1183
Регистрация: 27.07.2011
Сообщений: 11,439
31.10.2017, 13:39 2
Цитата Сообщение от MU-GK Посмотреть сообщение
Оставляю, может пригодится кому
А мужики то не знают , что нужно явно указывать типы переменных.
0
32 / 29 / 1
Регистрация: 06.01.2017
Сообщений: 297
31.10.2017, 16:42  [ТС] 3
Не совсем так, указывать надо в случае User-Defined Type.
Для стандартных необязательно
0
SoftIce
31.10.2017, 18:00     Не даёт задать переменную в качестве параметра процедуры
  #4

Не по теме:

Цитата Сообщение от MU-GK Посмотреть сообщение
Для стандартных необязательно
Это как скакать между граблей. Не обязательно наступишь, может и пронесет.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.10.2017, 18:00

Использование имени процедуры в качестве параметра другой процедуры
Составить программу по заданному условию. Первая часть условия является заданием на разработку...

Использование имени процедуры в качестве параметра другой процедуры
Предложите, пожалуйста, пример решения след. задачи с использованием вышеуказанного условия: ...

Передать в качестве параметра переменную
Всем привет. Есть команда, которая возвращает список компьютеров: Get-CMDevice -CollectionName...

Как в getExtra использовать стринговую переменную в качестве параметра?
Имею: Button button1 = (Button)findViewById(R.id.buttonone); ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru