Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84

Ошибка при вызове процедуры из другой формы

14.12.2021, 09:41. Показов 919. Ответов 9

Студворк — интернет-сервис помощи студентам
Здраствуйте, прошу помощи. Ранее, я задавал вопрос о том, как вызывать процедуру с другой формы. Я вроде всё понял и всё вроде было хорошо до того, как я столкнулся с этой ошибкой. Вот сама ошибка:

Вот код программы (подпрограмма на форме MainForm):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Public Sub DarkTheme(DT As Object)
    DT.LTitle.BackColor = vbBlack
    DT.CBox.BackColor = vbBlack
    DT.LDesc_1.BackColor = vbBlack
    DT.TBData_1.BackColor = vbBlack
    DT.LDesc_2.BackColor = vbBlack
    DT.TBData_2.BackColor = vbBlack
    DT.LDesc_3.BackColor = vbBlack
    DT.TBData_3.BackColor = vbBlack
    DT.LDesc_4.BackColor = vbBlack
    DT.TBData_4.BackColor = vbBlack
    DT.LResult.BackColor = vbBlack
'    DT.OMode_1.BackColor = vbBlack
'    DT.OMode_2.BackColor = vbBlack
'    DT.OMode_3.BackColor = vbBlack
'    DT.OMode_4.BackColor = vbBlack
    
    DT.LTitle.ForeColor = vbWhite
    DT.CBox.ForeColor = vbWhite
    DT.LDesc_1.ForeColor = vbWhite
    DT.TBData_1.ForeColor = vbWhite
    DT.LDesc_2.ForeColor = vbWhite
    DT.TBData_2.ForeColor = vbWhite
    DT.LDesc_3.ForeColor = vbWhite
    DT.TBData_3.ForeColor = vbWhite
    DT.LDesc_4.ForeColor = vbWhite
    DT.TBData_4.ForeColor = vbWhite
    DT.LResult.ForeColor = vbWhite
'    DT.OMode_1.ForeColor = vbWhite
'    DT.OMode_2.ForeColor = vbWhite
'    DT.OMode_3.ForeColor = vbWhite
'    DT.OMode_4.ForeColor = vbWhite
End Sub
 
Public Sub LightTheme(LTH As Object)
    LTH.LTitle.BackColor = vbWhite
    LTH.CBox.BackColor = vbWhite
    LTH.LDesc_1.BackColor = vbWhite
    LTH.TBData_1.BackColor = vbWhite
    LTH.LDesc_2.BackColor = vbWhite
    LTH.TBData_2.BackColor = vbWhite
    LTH.LDesc_3.BackColor = vbWhite
    LTH.TBData_3.BackColor = vbWhite
    LTH.LDesc_4.BackColor = vbWhite
    LTH.TBData_4.BackColor = vbWhite
    LTH.LResult.BackColor = vbWhite
'    LT.OMode_1.BackColor = vbWhite
'    LT.OMode_2.BackColor = vbWhite
'    LT.OMode_3.BackColor = vbWhite
'    LT.OMode_4.BackColor = vbWhite
    
    LTH.LTitle.ForeColor = vbBlack
    LTH.CBox.ForeColor = vbBlack
    LTH.LDesc_1.ForeColor = vbBlack
    LTH.TBData_1.ForeColor = vbBlack
    LTH.LDesc_2.ForeColor = vbBlack
    LTH.TBData_2.ForeColor = vbBlack
    LTH.LDesc_3.ForeColor = vbBlack
    LTH.TBData_3.ForeColor = vbBlack
    LTH.LDesc_4.ForeColor = vbBlack
    LTH.TBData_4.ForeColor = vbBlack
    LTH.LResult.ForeColor = vbBlack
'    LT.OMode_1.ForeColor = vbBlack
'    LT.OMode_2.ForeColor = vbBlack
'    LT.OMode_3.ForeColor = vbBlack
'    LT.OMode_4.ForeColor = vbBlack
End Sub
Вот код формы TriangleModeForm:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
Dim Theme As String
 
Private Sub CBConfirmButtonTriMode_1_Click()
    TriangleModeForm.Hide
    TriangleForm.Show
End Sub
 
Private Sub Form_Activate()
'Відновлення теми
SettingsFile = FreeFile
Open (App.Path & "\SettingsFile.txt") For Input As #SettingsFile
Line Input #SettingsFile, Theme
Close #SettingsFile
    
SettingsForm.ThemeState = Val(Theme)
    
'Налаштування теми
    If SettingsForm.ThemeState = 1 Then
        'Налаштування темної теми
        TriangleModeForm.BackColor = &H0&
        Call MainForm.DarkTheme(Me)
 
    ElseIf SettingsForm.ThemeState = 0 Then
        'Налаштування світлої теми
        TriangleModeForm.BackColor = &HFFFFFF
        Call MainForm.LightTheme(Me)
    End If
End Sub
Буду рад получению помощи.
Миниатюры
Ошибка при вызове процедуры из другой формы   Ошибка при вызове процедуры из другой формы  
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
14.12.2021, 09:41
Ответы с готовыми решениями:

Ошибка при повторном вызове другой формы: ObjectDisposedException
Пытаюсь вызвать другую форму посредством From2 f2 = new From2(); f2.Show(); В другой форме кнопка закрывающая вторую форму,...

Ошибка при вызове процедуры
HELP! Почему такой код ошибку не вызывает: declare @Dt as datetime set @Dt=CONVERT(DATETIME, '2003-07-28 00:00:00', 120) exec...

Ошибка при вызове хранимой процедуры
Создал хранимую процедуру: CREATE DEFINER=`root`@`localhost` PROCEDURE `QueryAuthentification`(IN `@hash` VARCHAR(50)) LANGUAGE SQL ...

9
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
14.12.2021, 09:44  [ТС]
Вот сама программа:
Program_2.zip
0
fly
 Аватар для I can
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,810
14.12.2021, 10:10
Program_3.rar
0
fly
 Аватар для I can
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,810
14.12.2021, 11:15
Убрал бесконечные повторения однотипного кода
Вложения
Тип файла: rar Program_4.rar (878.3 Кб, 3 просмотров)
1
fly
 Аватар для I can
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,810
14.12.2021, 11:21
Лучший ответ Сообщение было отмечено AoHeaven как решение

Решение

---
Вложения
Тип файла: rar Program_5.rar (878.2 Кб, 5 просмотров)
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
14.12.2021, 12:22  [ТС]
Спасибо большое

Добавлено через 5 минут
Осталось понять как подпрограмма SwitchTheme работает
0
fly
 Аватар для I can
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,810
14.12.2021, 12:24
AoHeaven, я не знаю, может вы делаете так по заданию, но я бы сократил количество форм раз в 10
Можно сделать одну форму расчёта для всех фигур и тел, а не для каждой свою.
0
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
14.12.2021, 12:30  [ТС]
Я бы сократил, было бы только время. Это программа для курсовой работы, сдавать нужно уже завтра
В пятницу будет защита
0
fly
 Аватар для I can
4946 / 4629 / 843
Регистрация: 13.04.2015
Сообщений: 9,810
14.12.2021, 12:36
Цитата Сообщение от AoHeaven Посмотреть сообщение
как подпрограмма SwitchTheme работает
Немного комментариев
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
' Метод переключает тему для формы
' ------ Параметры ----------------
' DT       - форма, для которой нужно поменять тему
' numTheme - номер темы, по умолчанию 0 - светлая
' ----------------------------------------------------------------------
Public Sub SwitchTheme(DT As Object, Optional numTheme As Integer = 0)
    Dim c As Control
    On Error Resume Next ' Пропускаем ошибки
    For Each c In DT.Controls ' перебираем все контролы на форме
    
       Select Case numTheme
       
           Case 0 ' светлая тема
               c.BackColor = vbWhite  ' цвет фона элемента управления
               c.ForeColor = vbBlack  ' цвет шрифта
               DT.BackColor = vbWhite ' цвет формы
               
           Case 1 'тёмная тема
              c.BackColor = vbBlack   ' цвет фона элемента управления
              c.ForeColor = vbWhite   ' цвет шрифта
              DT.BackColor = vbBlack  ' цвет формы
              
       End Select
 
    Next c
 
End Sub
'

И еще один совет: чтобы поменять цвет кнопки, нужно установить в конструкторе её свойство Style = Graphical, именно в конструкторе, в коде не прокатит.
1
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
14.12.2021, 13:09  [ТС]
Понял, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.12.2021, 13:09
Помогаю со студенческими работами здесь

Ошибка при вызове процедуры PostgreSQL
Есть процедура для вставки новой записи в таблицу CREATE OR REPLACE PROCEDURE public."saveStudent"( "fName_val"...

Ошибка при вызове хранимой процедуры
Добрый день, подскажите что делать? Может кто сталкивался с данной проблемой. При вызове хранимой процедуры - выскакивает сообщение с...

Ошибка при вызове процедуры MSSQL
Здравствуйте. В самой СУБД написана процедура на добавление строки ALTER PROCEDURE . @int real,@tim real,@pod real,@dia real ...

Ошибка при вызове хранимой процедуры
Здравствуйте, помогите, пожалуйста, разобраться. При вызове хранимой процедуры, возникает ошибка, что такая-то процедура или функция в...

Ошибка при вызове процедуры Sybase
Ребята, есть такая проблема. При вызове процедуры: flag = result.ExecProcedure("ln_role_to_officer", officer_login, task_role%,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru