Форум: "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.47 MB
Время: 0.051 c