Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.04;
Скачать: CL | DM;

Вниз

Не могу работать с 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 вся ветка

Текущий архив: 2004.07.04;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
14-1087370201
IceBeerg
2004-06-16 11:16
2004.07.04
2а вопроса


6-1083904771
-=DeMoH=-
2004-05-07 08:39
2004.07.04
Кто-нибудь знает, как работать с сокетами?


1-1087128338
European
2004-06-13 16:05
2004.07.04
Шаг сетки в TChart


1-1087384424
Andrey V.
2004-06-16 15:13
2004.07.04
Сохранить в ini содержание TMemo


14-1086971417
cyborg
2004-06-11 20:30
2004.07.04
По телеку идёт финальный концерт "Фабрика звёзд"