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

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

14.12.2021, 09:41. Показов 887. Ответов 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
sleep
 Аватар для I can
4924 / 4573 / 840
Регистрация: 13.04.2015
Сообщений: 9,722
14.12.2021, 10:10
Program_3.rar
0
sleep
 Аватар для I can
4924 / 4573 / 840
Регистрация: 13.04.2015
Сообщений: 9,722
14.12.2021, 11:15
Убрал бесконечные повторения однотипного кода
Вложения
Тип файла: rar Program_4.rar (878.3 Кб, 3 просмотров)
1
sleep
 Аватар для I can
4924 / 4573 / 840
Регистрация: 13.04.2015
Сообщений: 9,722
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
sleep
 Аватар для I can
4924 / 4573 / 840
Регистрация: 13.04.2015
Сообщений: 9,722
14.12.2021, 12:24
AoHeaven, я не знаю, может вы делаете так по заданию, но я бы сократил количество форм раз в 10
Можно сделать одну форму расчёта для всех фигур и тел, а не для каждой свою.
0
4 / 4 / 2
Регистрация: 26.04.2021
Сообщений: 84
14.12.2021, 12:30  [ТС]
Я бы сократил, было бы только время. Это программа для курсовой работы, сдавать нужно уже завтра
В пятницу будет защита
0
sleep
 Аватар для I can
4924 / 4573 / 840
Регистрация: 13.04.2015
Сообщений: 9,722
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
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит: токи, напряжения и их 1 и 2 производные при t = 0;. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru