![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как присоединить данные к DIB? [D6, XP]
Vemer © (2009-02-01 00:38:00)Здравствуйте, снова я с глупым вопросом...
Есть массив
var
MyData:Array of [0..64, 0..64, 0..3] of Byte;
Пытаюсь прикрепить его к DIB при его создании:
MyBmp.Handle := CreateDIBSection(Other.Handle, BInfo, DIB_RGB_COLORS, @MyData, 0, 0);
и получаю в ответ какие то непонятные ругательства насчет Pointer.
Подскажите пожалуйста, что нужно сделать чтобы привязать массив к DIB?
P.S. Гуглил. P.P.S. Часики в кладовку выложил.
sniknik (2009-02-01 16:19:00) [1]> Всего хорошего.
договорились
Vemer (2009-02-01 14:55:00) [2]А вы ставите себя в категорию "отцов" форума с неистребимой склонностью к чтению нотации и даче оценок другим людям и доказательства своей правоты..
Если я вас не обидел какого <ВЦ> задавать такие вопросы?
Ну вы доказли что круче небес и выше яйц, довольны?
Всего хорошего.
sniknik (2009-02-01 13:40:00) [3]> хехе.. не хотел обидеть..
обидеть? чем? ты просто ставишь себя в категорию людей которым не хочется помогать, хочется воспитывать...
> а интуиция подсказывает что дело в какой-то мелочи
интуицию надо тренировать... можно битой. так чтобы она тебе подсказывала не игнорировать сообщение в ошибке, и если не можешь решить даже "какую-то мелочь" то не партизаня сообщать всю значимую информацию...
а то она тебе фигню какую-то подсказывает...
вот давай проверим, я типа спрашиваю как ты, про мелочь, а ты даешь готовый рецепт..
опуская предварительные "ласки" насчет глупого вопроса, сразу
есть процедура
MySyperGetMem(byf);
при выполнении дает "какие то непонятные ругательства насчет Memory".
в чем дело?
и давай сразу, без дополнительных вопросов.
Vemer (2009-02-01 12:07:00) [4]хехе.. не хотел обидеть.. просто когда выплывает ошибка из незнакомой плоскости, а интуиция подсказывает что дело в какой-то мелочи, хочеться готовых рецептов.
sniknik (2009-02-01 11:04:00) [5]> А сразу MyPointer := @MyData; конечно сложно было написать.
невозможно.
сразу я не знал что ты делаешь, что за функция (тебя удивит если я скажу что занимаюсь несколько другим чем ты), что за параметры она принимает и т.д.
т.е. фактически сразу я не знал что причина в "MyPointer := @MyData;", но знал что о ней сказано в ошибке и если эту ошибку не игнорировать... в общем всего лишь проведена работа над ошибкой с твоих слов, а не выдан готовый рецепт которого сразу не было.
> кто знает как прицепить массив к рисунку так, чтобы можно было редактировать?
help знает...
но не беспокойся, любители "готовый рецептов" меня не интересуют, не буду больше беспокоить, хотя разобраться в том как сделать уверен не проблема.
но разбираться самому с помощью/советами других тебя как видно не устраивает. т.что ....
Германн (2009-02-01 02:27:00) [6]
> Vemer © (01.02.09 02:13) [6]
>
> А сразу
А сразу - это только в техподдержке. А она платная!
Vemer (2009-02-01 02:13:00) [7]А сразу MyPointer := @MyData; конечно сложно было написать.
Сообщение об ошибке пропало, но изменение рисунка через изменение данных массива не происходит. Похоже рисунок берет данные из другой области. Поэтому вопрос прежний - кто знает как прицепить массив к рисунку так, чтобы можно было редактировать?
Есть работающий линейный вариант с
Type
TBig = Array [0..0] оf Byte;
begin
TBig(MyPointer)[I] = MyBlue;
TBig(MyPointer)[I+1] = MyGreen;
TBig(MyPointer)[I+2] = MyRed;
Но хочется с раздельным доступом к RGB ));
sniknik (2009-02-01 01:28:00) [8]> Ругается на несовместимость ((.
MyPointer := @MyData;
Vemer (2009-02-01 01:19:00) [9]Короче, как я понял надо каким- то способом получить "чистый" Pointer на массив. Как это сделать?
Var
MyPointer: Pointer:
begin
MyPointer := ^MyData;
Ругается на несовместимость ((.
sniknik (2009-02-01 00:59:00) [10]> Прочитал Help по этой ошибке, но не помогло.
читать недостаточно надо еще и делать что то по прочитаному, к примеру код в соответствии с рекомендациями там привести. тут - сделать типы одинаковыми.
Vemer (2009-02-01 00:54:00) [11]Types of actual and formal var parameters must be identical
Прочитал Help по этой ошибке, но не помогло.
sniknik (2009-02-01 00:42:00) [12]> и получаю в ответ какие то непонятные ругательства насчет Pointer.
надо расшифровать... криптолога вызвать, ведь раз они непонятные то значит наверняка на древнеарамейском...