Вернуться   Компьютерный форум > Компьютеры > Программы > Программирование
 
 
Опции темы
Старый 12.06.2014, 07:41   #1 (ссылка)
Новичок
 
Регистрация: 26.06.2013
Сообщений: 33
Репутация: 0
Arrow Компилятор VB6 что-то "мутит"...

Пишу первую более-менее серьёзную программу на VB6:
Есть элементарный отрывок кода:
Код:
Private Sub Load()
Image_skl.Picture = App.Path & "\1.jpg"
Image_sered.Picture = App.Path & "\2.jpg"
Image_bok.Picture = App.Path & "\3.jpg"
Image_skl.Picture = App.Path & "\1.bmp"
Image_sered.Picture = App.Path & "\2.bmp"
Image_bok.Picture = App.Path & "\3.bmp"
End Sub
С jpeg мой VB иногда "ссорится" (читать\видеть не хочет), поэтому перестраховался с bmp. Проблема в том, что при компиляции выдает ошибку Type mismatch и ругается на "&". Заменял на "&" на "+", "Private" на "Public", вставлял код в другие разделы -> 0 эмоций. Type mismatch и всё тут... Уже и полные пути прописывал (!) но результат тот же ! Знатоки, помогите

И ещё вопрос.
Код:
If Check_pos1.Value = 1 Then
Label_pos1.Visible = True
n = Combo1.Text
Select Case n
 Case "À.1"
Label_1.Caption = 1110
Picture1_50.Visible = False
Picture1_70.Visible = True
Picture1_40x50.Visible = False
 Case "À.2"
Label_1.Caption = 1390
Picture1_50.Visible = True
Picture1_70.Visible = False
Picture1_40x50.Visible = False
 Case "À.3"
Label_1.Caption = 1490
Picture1_50.Visible = True
Picture1_70.Visible = False
Picture1_40x50.Visible = False
Код работает только один раз. Поясню: выбрал я в Combo1 вариант, нажал на кнопку. Нужная картинка появилась. Но тут я решаю изменить выбор, выбираю другой вариант, жму на кнопку и.... Out of memory. Ругается на строчки с False, мол скрыть картинку от другого варианта ему памяти не хватает.... В чем дело?)
Bedrock вне форума  
Старый 15.06.2014, 20:26   #2 (ссылка)
Новичок
 
Регистрация: 21.11.2009
Сообщений: 486
Репутация: 47
По умолчанию

Цитата:
Сообщение от Bedrock Посмотреть сообщение
Private Sub Load() Image_skl.Picture = App.Path & "\1.jpg" Image_sered.Picture = App.Path & "\2.jpg" Image_bok.Picture = App.Path & "\3.jpg" Image_skl.Picture = App.Path & "\1.bmp" Image_sered.Picture = App.Path & "\2.bmp" Image_bok.Picture = App.Path & "\3.bmp" End Sub

Bedrock, попробуйте перед строчками добавить Set. Например:
Код:
Set Image_skl.Picture = LoadPicture(App.Path & "\1.jpg")
sheff-09 вне форума  
Старый 16.06.2014, 09:47   #3 (ссылка)
Новичок
 
Регистрация: 26.06.2013
Сообщений: 33
Репутация: 0
По умолчанию

Цитата:
Сообщение от sheff-09 Посмотреть сообщение
Bedrock, попробуйте перед строчками добавить Set. Например:
Код:
Set Image_skl.Picture = LoadPicture(App.Path & "\1.jpg")
Блииииин.... Спасибо! Я ещё и методы забыл. Пойду вспоминать матчасть.....

---------- Добавлено в 09:47 ---------- Предыдущее сообщение было написано в 09:45 ----------

И ещё вопрос.
Код:
If Check_pos1.Value = 1 Then
Label_pos1.Visible = True
n = Combo1.Text
Select Case n
 Case "À.1"
Label_1.Caption = 1110
Picture1_50.Visible = False
Picture1_70.Visible = True
Picture1_40x50.Visible = False
 Case "À.2"
Label_1.Caption = 1390
Picture1_50.Visible = True
Picture1_70.Visible = False
Picture1_40x50.Visible = False
 Case "À.3"
Label_1.Caption = 1490
Picture1_50.Visible = True
Picture1_70.Visible = False
Picture1_40x50.Visible = False
Код работает только один раз. Поясню: выбрал я в Combo1 вариант, нажал на кнопку. Нужная картинка появилась. Но тут я решаю изменить выбор, выбираю другой вариант, жму на кнопку и.... Out of memory. Ругается на строчки с False, мол скрыть картинку от другого варианта ему памяти не хватает.... В чем дело?)[/QUOTE]

А что все таки с этим кодом?
Bedrock вне форума  
Старый 17.06.2014, 17:47   #4 (ссылка)
Новичок
 
Регистрация: 21.11.2009
Сообщений: 486
Репутация: 47
По умолчанию

Bedrock, попробуйте так:

Код:
Option Explicit
 
Private Sub Command1_Click()
    Dim n As String
    If Check_pos1.Value = 1 Then
       Label_pos1.Visible = True
       n = Combo1.Text
       Select Case n
              Case "А.1"
                   Label_1.Caption = "1110"
                   Picture1_50.Visible = False
                   Picture1_70.Visible = True
                   Picture1_40x50.Visible = False
              Case "А.2"
                   Label_1.Caption = "1390"
                   Picture1_50.Visible = True
                   Picture1_70.Visible = False
                   Picture1_40x50.Visible = False
              Case "А.3"
                   Label_1.Caption = "1490"
                   Picture1_50.Visible = False
                   Picture1_70.Visible = False
                   Picture1_40x50.Visible = True
       End Select
    End If
End Sub
 
Private Sub Form_Load()
    Combo1.AddItem "А.1"
    Combo1.AddItem "А.2"
    Combo1.AddItem "А.3"
End Sub
sheff-09 вне форума  
Старый 20.06.2014, 10:47   #5 (ссылка)
Новичок
 
Регистрация: 26.06.2013
Сообщений: 33
Репутация: 0
По умолчанию

Цитата:
Сообщение от sheff-09 Посмотреть сообщение
Bedrock, попробуйте так:

Код:
Option Explicit
 
Private Sub Command1_Click()
    Dim n As String
    If Check_pos1.Value = 1 Then
       Label_pos1.Visible = True
       n = Combo1.Text
       Select Case n
              Case "А.1"
                   Label_1.Caption = "1110"
                   Picture1_50.Visible = False
                   Picture1_70.Visible = True
                   Picture1_40x50.Visible = False
              Case "А.2"
                   Label_1.Caption = "1390"
                   Picture1_50.Visible = True
                   Picture1_70.Visible = False
                   Picture1_40x50.Visible = False
              Case "А.3"
                   Label_1.Caption = "1490"
                   Picture1_50.Visible = False
                   Picture1_70.Visible = False
                   Picture1_40x50.Visible = True
       End Select
    End If
End Sub
 
Private Sub Form_Load()
    Combo1.AddItem "А.1"
    Combo1.AddItem "А.2"
    Combo1.AddItem "А.3"
End Sub
Гхм... Извиняюсь, но именно так я и сделал, но привел лишь сокращенный отрывок кода, т.к. настоящий код занимает 5 "страниц" или "экранов". Отрабатывает один раз. При повторном нажатии на кнопку - вылет...
Bedrock вне форума  
Старый 23.06.2014, 20:07   #6 (ссылка)
Новичок
 
Регистрация: 21.11.2009
Сообщений: 486
Репутация: 47
По умолчанию

Код:
Option Explicit
 
Private Sub Command1_Click()
    Dim n As String
    On Error Resume Next
    If Check_pos1.Value = 1 Then
        Label_pos1.Visible = True
        n = Combo1.Text
        Select Case n
        Case "А.1"
            Label_1.Caption = "1110"
            Picture1_50.Visible = False
            Picture1_70.Visible = True
            Picture1_40x50.Visible = False
        Case "А.2"
            Label_1.Caption = "1390"
            Picture1_50.Visible = True
            Picture1_70.Visible = False
            Picture1_40x50.Visible = False
        Case "А.3"
            Label_1.Caption = "1490"
            Picture1_50.Visible = False
            Picture1_70.Visible = False
            Picture1_40x50.Visible = True
        End Select
    End If
End Sub
 
Private Sub Form_Load()
    On Error Resume Next
    Combo1.Clear
    Combo1.AddItem "А.1"
    Combo1.AddItem "А.2"
    Combo1.AddItem "А.3"
End Sub
Может, ошибка кроется в другой части кода?
sheff-09 вне форума  
Старый 24.06.2014, 10:23   #7 (ссылка)
Новичок
 
Регистрация: 26.06.2013
Сообщений: 33
Репутация: 0
По умолчанию

Цитата:
Сообщение от sheff-09 Посмотреть сообщение
Код:
Option Explicit
 
Private Sub Command1_Click()
    Dim n As String
    On Error Resume Next
    If Check_pos1.Value = 1 Then
        Label_pos1.Visible = True
        n = Combo1.Text
        Select Case n
        Case "А.1"
            Label_1.Caption = "1110"
            Picture1_50.Visible = False
            Picture1_70.Visible = True
            Picture1_40x50.Visible = False
        Case "А.2"
            Label_1.Caption = "1390"
            Picture1_50.Visible = True
            Picture1_70.Visible = False
            Picture1_40x50.Visible = False
        Case "А.3"
            Label_1.Caption = "1490"
            Picture1_50.Visible = False
            Picture1_70.Visible = False
            Picture1_40x50.Visible = True
        End Select
    End If
End Sub
 
Private Sub Form_Load()
    On Error Resume Next
    Combo1.Clear
    Combo1.AddItem "А.1"
    Combo1.AddItem "А.2"
    Combo1.AddItem "А.3"
End Sub
Может, ошибка кроется в другой части кода?
При сообщении об ошибке выделяет строки, которые отвечают за скрытие картинок : "Picture1_50.Visible = False" и т.п.
Bedrock вне форума  
Ads
 


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пропали кнопки внизу окон, "Сохранить", "Отмена","Применить" и тп. borik677 Windows 7 11 06.09.2013 20:01
Ссылки утилитна тему-Забанили на сайтах "ВКОНТАКТЕ","Mail.ru","Google" и т.д Flatik Безопасность 2 22.06.2011 19:38
Забанили на сайтах "ВКОНТАКТЕ","Mail.ru","Google" и т.д Flatik Безопасность 10 22.06.2011 02:33
Помогите ".exe","vyre32.exe","exsys.exe"...!!!(логи avz и hijackthis внутри ) Ernesto Безопасность 19 17.04.2011 02:29
НЕ работает кнопка "Перезагрузка", остальные "Ждущий режим"\"Выкл." в норме. Мириам Windows XP 0 24.03.2010 13:11


Текущее время: 15:45. Часовой пояс GMT +4. Powered by vBulletin® Version 5.8.9
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.