Картинка через переменную

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Santa
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 101
Зарегистрирован: 07.05.2004 (Пт) 1:34
Откуда: KZ

Картинка через переменную

Сообщение Santa » 24.02.2007 (Сб) 18:39

Как через переменную передать картинку, почемуто не получается:
Код: Выделить всё
Dim picTrans As PictureBox
Picture2.Picture = picTrans.Picture
picTrans.Picture = Picture1.Picture

выдаёт "Object variable or With block variable not set (Error 91)", а кчему сет прикрутить не пойму? :(
SIVIS PACEM PARA BELLUM

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.02.2007 (Сб) 18:43

pictrans пустая (неужто не заметил?)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Santa
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 101
Зарегистрирован: 07.05.2004 (Пт) 1:34
Откуда: KZ

Сообщение Santa » 24.02.2007 (Сб) 18:52

Она же переменная. Один пикчер пустой другой с картинкой, через эту переменную и надо передать картинку. А Set picTrans = New ???.
SIVIS PACEM PARA BELLUM

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.02.2007 (Сб) 18:56

Ты объявил переменную не как StdPicture, не как IPictureDisp, а как PictureBox.
Значит, ты собирался работать с пикчербоксом (а не с картинкой).
Поэтому ты должен сначала присвоить переменной один из существующих пикчербоксов.
А если бы ты собирался работать с картинкой, ты бы объявил переменную как StdPicture или как IPictureDisp. Но даже в этом случае первая команда у тебя вызвала бы ту же самую ошибку по той же самой причине.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Santa
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 101
Зарегистрирован: 07.05.2004 (Пт) 1:34
Откуда: KZ

Сообщение Santa » 24.02.2007 (Сб) 19:09

А так тоже не помогло:
Код: Выделить всё
Dim picTrans As StdPicture
Picture2.Picture = picTrans
picTrans = Picture1.Picture

и как же всётаки передать?
SIVIS PACEM PARA BELLUM

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 24.02.2007 (Сб) 19:11

GSerg писал(а):Но даже в этом случае первая команда у тебя вызвала бы ту же самую ошибку по той же самой причине.


Лучше скажи словами, что тебе надо. А то я начинаю сильно подозревать.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 24.02.2007 (Сб) 19:14

Dim picTrans As StdPicture ' это объект

Set picTrans = Picture1.Picture

Set Picture2.Picture = picTrans

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 24.02.2007 (Сб) 19:25

А нафига здесь вообще промежуточная переменная?
Изображение

Santa
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 101
Зарегистрирован: 07.05.2004 (Пт) 1:34
Откуда: KZ

Сообщение Santa » 24.02.2007 (Сб) 19:27

GSerg писал(а):А то я начинаю сильно подозревать.

Интересно вчём???

На форме есть пикчербокс и несколько кнопок, модуль с переменной куда должна попасть картинка, кнопка старт тык и картинка из файла на диске в пеменную, а к другим кнопкам свои функции, одна "Call RedPicture" картинка покраснела. Чтобы не посылать "Call RedPicture(Picture1)" один раз посылается "Call LoadPicture(Picture1)", а все остальные без Picture1.
SIVIS PACEM PARA BELLUM

EUGY
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 214
Зарегистрирован: 09.11.2006 (Чт) 22:51
Откуда: Мурманск

Сообщение EUGY » 24.02.2007 (Сб) 19:29

tyomitch писал(а):А нафига здесь вообще промежуточная переменная?


может для взаимообмена?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22

    TopList