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

Вниз

Странная ошибка при выполнении   Найти похожие ветки 

 
Okolobaxa   (2007-07-03 00:17) [0]

Пишу элементарный код, допустим Form1.Label1.Caption:="anystring"
Компиляция проходит нормально, а при выполнении вылазиет такая ошибка:"Debugger Exception Notification Project Project1.exe raised exception class EAccessWiolation with message "Access violation at address 0044F501 in module "Project1.exe". Read of address 000002FC". Process stopped. Use Step or Run to continue."
Пробовал и переустанавливать Delphi и переустанавливать систему и разные версии пробовал(7,2005,BDS2006). В чём проблема? Посоветуйте...


 
Германн ©   (2007-07-03 00:38) [1]


> Пробовал и переустанавливать Delphi и переустанавливать
> систему и разные версии пробовал(7,2005,BDS2006). В чём
> проблема? Посоветуйте...

Смени ещё и сам компьютер.
:)


 
ЮЮ ©   (2007-07-03 03:48) [2]

> Form1.Label1.Caption:="anystring"

поставь брекпоинт и убедись, что к данному моменту  Form1 = nil и, следовательно, Form1.Label1 тождественен "Access violation"


> Пишу элементарный код, допустим Form1.Label1.Caption:="anystring"

Элементарный код, который здесь имеет смысл приводить, должен начинаться с заглоовка метода, в котором он имеет место быть.


 
Anatoly Podgoretsky ©   (2007-07-03 08:37) [3]

> ЮЮ  (03.07.2007 03:48:02)  [2]

А смысл, и так ясно, что Form1 не создано или наоборот обнуленою


 
Okolobaxa   (2007-07-03 15:09) [4]

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


unit Unit1;

interface

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

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

var
 Form1: TForm1;

implementation

{$R *.dfm}

begin
 form1.Label1.Caption:="anytext";
end.



 
Инс ©   (2007-07-03 15:17) [5]


> Код обыкновенный, стандартный шаблон.


И где же ты вычитал, что данный код обыкновенный?  Ссылочку, плииз! А проблема в том, что этот код выполняется ДО того как создается экземпляр формы form1.


 
Однокамушкин   (2007-07-03 15:21) [6]

form1 создаётся в основной программе - секции begin..end dpr-файла, а ваша секция begin..end выполняется раньше, когда form1 имеет ещё значение nil...

Кстати, не знал, что в unit-ах можно вот так вот писать begin..end, а проверил - можно... Интересно, это где-нибудь документировано? В справке Delphi об этом ничего не нашёл...


 
Плохиш ©   (2007-07-03 15:44) [7]


> Okolobaxa   (03.07.07 15:09) [4]

Рекомендую всё-таки для начала узнать, что же это такое объектно-ориентированное программирование.


 
Johnmen ©   (2007-07-03 16:13) [8]


> Однокамушкин   (03.07.07 15:21) [6]

Ищи в справке по Pascal"ю.


 
clickmaker ©   (2007-07-03 16:56) [9]


>
> begin
>  form1.Label1.Caption:="anytext";
> end.

хм... а в чем смысл сего действа?



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

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

Наверх




Память: 0.49 MB
Время: 0.035 c
8-1162421454
Gyrus
2006-11-02 01:50
2007.07.29
Ошибка BitMap


15-1183312891
IPE
2007-07-01 22:01
2007.07.29
Apache 2


15-1183401670
RIMED
2007-07-02 22:41
2007.07.29
изменить размеры IE окна (глянуть HTML код)


15-1183370524
Alkid
2007-07-02 14:02
2007.07.29
XSL eBooks - посоветуйте.


6-1166624594
n_shadow
2006-12-20 17:23
2007.07.29
Заполнение структуры PHostEnt