Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

Не могу работать с Canvas.Какая-то ошибка не пойму в чем дело   Найти похожие ветки 

 
Женя   (2004-04-18 22:03) [0]

Пишу команду: Form1.Canvas.Rectangle(10,10,10,10);

Получаю:
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EAccessViolation with message "Access violation at address 0044546C in module "Project1.exe". Read of address 00000238". Process stopped. Use Step or Run to continue.
---------------------------
OK   Help  
---------------------------

Смотрю ЦПУ и вижу:
TcustomForm.GetCanvas
044546c 8B8038020000 mov eax, [eax + $00000238]

Помогите пожалуйста. Может кто знает отчего это и как исправить.


 
Mihey ©   (2004-04-18 22:08) [1]

Пишу то же, не получаю ошибки. Какая Delphi???


 
Женя   (2004-04-18 22:48) [2]

Делфи 7й.


 
Anatoly Podgoretsky ©   (2004-04-18 23:09) [3]

eax = 0
Наверно не создан TcustomForm


 
clover ©   (2004-04-19 10:33) [4]

Могу только посоветовать
Form1.Brush.Bitmap:=TBitmap.Create;
и рисовать на Form1.Brush.Bitmap

Вообще похоже что у вас Canvas не создан??? правдо очень странно ;)


 
Плохиш   (2004-04-19 10:39) [5]

Форм1 не создана


 
Женя   (2004-04-20 15:55) [6]

Пробую так:
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs;

type
 TForm1 = class(TForm)
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}
begin
Form1.Brush.Bitmap:=TBitmap.Create;
Form1.Brush.Bitmap.Canvas.Rectangle(10,100,10,100);
end.

Получил вот такое сообщение.
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EAccessViolation with message "Access violation at address 0044C8FC in module "Project1.exe". Read of address 00000170". Process stopped. Use Step or Run to continue.
---------------------------
OK   Help  
---------------------------

Вчера даже Виндовс переставил. Сейчас стоит ХР и Д7
А вообще я делал все по книжке и там ничего не сказано о том, что надо создавать Canvas (Н.Б.Культин,Делфи 6 и программирование на ObjectPascal. Поэтому я и не создал его. Подскажите как его создавать?
я пробовал
Form1.Canvas.Create;
и в конце Form1.Canvas.Destroy; но результат тот же

У меня задача по ООП я рисую рыбок в аквариуме, использую графические примитивы. Рыбки рисуются треугольниками, квадратиками и проч. Но пока вообще ничего не Рисуется))
Если можно набросьте мне код как создать Canvas и нарисовать на нем линию или что-то другое. Спасибо


 
panov ©   (2004-04-20 17:50) [7]

Создай новый проект, положи на форму кнопку, кликни на нее и посмотри текст программы, сравни со своей.

код

Form1.Brush.Bitmap:=TBitmap.Create;
Form1.Brush.Bitmap.Canvas.Rectangle(10,100,10,100);

добавь в

procedure TForm1.Button1Click(Sender: TObject);
begin
 Form1.Brush.Bitmap:=TBitmap.Create;
 Form1.Brush.Bitmap.Canvas.Rectangle(10,100,10,100);
end;

Лучше всего купить книжку и почитать.


 
тихий вовочка ©   (2004-04-20 23:28) [8]

Я может быть ошибаюсь, но ты рисуешь еще до FormCreate, соответственно у тебя ни формы, ни канвы еще нет.


 
panov ©   (2004-04-21 10:25) [9]

>тихий вовочка ©   (20.04.04 23:28) [8]
Occurs when the form is created.


 
Плохиш   (2004-04-21 10:34) [10]

>panov ©   (20.04.04 17:50) [7]

Только без этого Form1.

Про книжку полностью и безоговорочно поддерживаю :-)


 
Женя   (2004-04-21 11:26) [11]

Спасибо большое всем участвующим. У меня получилось теперь всю форму размалюю! ))



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.032 c
10-1016108444
paul_shmakov
2002-03-17 05:38
2004.07.04
2 интерфейса


14-1087390151
Knight
2004-06-16 16:49
2004.07.04
Кто играл на лобзике?


1-1087477494
Сергей_И
2004-06-17 17:04
2004.07.04
Как узнать номер верхней видимой строки в гриде


1-1087885634
Максим
2004-06-22 10:27
2004.07.04
Как программно удалить файл из какой-либо папки?


1-1087914953
Bohdan
2004-06-22 18:35
2004.07.04
Работа с Excell





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский