|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
ПОМОГИТЕ! (классы с динамическим содержимым)
Либо у меня руки кривые,либо это мегабаг!!!!!!!!!!!!
Не могу замутить класс с динамическими переменными. Создаем новое пустое приложение в дельфе и в юнит 1 кладем следуюющее: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); end; my_class = class public i : ^integer; {constructor create;} end; var Form1: TForm1; m : my_class; implementation {$R *.dfm} {constructor my_class.create; begin i := nil; //new(i); end;} procedure TForm1.FormCreate(Sender: TObject); begin m.Create; end; end. При запуске после появления окна появляется месага "Access violation at address 0044C87A in module 'Project1.exe' write address 00000004".месага вылетает на m.create при не описанном конструкторе и на i := nil (или new(i)) при описанном конструкторе!!!! Я что-то еще не дописываю или это баг? ПОМОГИТЕ!!!!!!!!!! |
#2
|
||||
|
||||
Первое что бросается в глаза:
Код:
m.Create; Код:
m:=my_class.Create; |
#3
|
|||
|
|||
Спасибо тебе о великий программер! Делаю как ты сказал и о чудо! все работает! И понимаю что после си возвращаться в паскаль - сложно...
|