Главная страница
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.555 c
4-1171614711
niko_
2007-02-16 11:31
2007.07.29
Блокировка Ctr+Alt+Del


15-1182988618
@dim
2007-06-28 03:56
2007.07.29
Курсоры в SQL Server 2000


15-1183613351
exactly
2007-07-05 09:29
2007.07.29
Какие наушники посоветуете?


2-1183709585
Kolan
2007-07-06 12:13
2007.07.29
Динамическое создание пунктов меню, как реализовать событие&#133


15-1183029982
Kostafey
2007-06-28 15:26
2007.07.29
Как сделать исполняемый jar - файл ?