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

Вниз

Проблема с ООП Access Violation   Найти похожие ветки 

 
Rembo   (2009-04-27 02:07) [0]

Сделал класс, несколько методов, куча переменных.
Сделал штук 50 экземпляров его, все норм работало, но в какой то момент появилась аномалия:
myclass1:=TMyClass.Create;
myclass1.var1:=1;
myclass1.method1;
myclass1.var2:=5;<<<Access Violation Exception!!!
Но! Если не выполнять метод method1 или после него заново инициолизировать класс ошибки не будет.
Так же этот глюк возникает не у всех экземпляров. Появление ошибки зависит от порядка объявления экземпляров, но как именно я не понял.
Еще могу сказать что в method1 вызываеться функция из дллки (directx), если ее убрать аномалия исчезнет.
Вот функция:
hret:=D3DXCreateTextureFromFileEx(FD3DDevice,PChar(fname),0,0,0,0,D3DFMT_A8R8G8B 8,D3DPOOL_MANAGED, D3DX_DEFAULT,D3DX_DEFAULT,0,inf,nil,tex);

hret возвращает что мол все ок.
Прошу помоч, а еще прошу не перенносить тему в "построение игр".
Заранее благодарен.


 
Германн ©   (2009-04-27 02:45) [1]


>
> Rembo   (27.04.09 02:07)
>
> Сделал класс, несколько методов, куча переменных.
> Сделал штук 50 экземпляров его, все норм работало, но в
> какой то момент появилась аномалия:
> myclass1:=TMyClass.Create;
> myclass1.var1:=1;
> myclass1.method1;
> myclass1.var2:=5;<<<Access Violation Exception!!!
> Но! Если не выполнять метод method1 или после него заново
> инициолизировать класс ошибки не будет.
> Так же этот глюк возникает не у всех экземпляров. Появление
> ошибки зависит от порядка объявления экземпляров, но как
> именно я не понял.


 
Германн ©   (2009-04-27 02:48) [2]

А сам код привести стесняешься?
аАи как?


 
First blood   (2009-04-27 02:54) [3]


> myclass1.var2:=5;<<<Access Violation Exception!!!

Проблема не здесь, это глюк встроенного отладчика.
Проблема при выходе из myclass1.method1;. Копайте её.


 
Rembo   (2009-04-27 09:22) [4]

Пасиб за помощь, проблему локализовал и решил вроде бы...
В D3DXCreateTextureFromFileEx использовалась запись inf типа   PD3DXImageInfo = ^TD3DXImageInfo;
и в методе я ее я так и назвал PD3DXImageInfo, а ща допер что создаю пустой указатель, передаю его в функцию и пытаюсь чето получить из него)
Решение:
inf:TD3DXImageInfo;
...
D3DXCreateTextureFromFileEx(....,@inf);
Ну вот почему компилятор так просто все не объяснил


 
KSergey ©   (2009-04-27 10:50) [5]

> Rembo   (27.04.09 09:22) [4]
> Ну вот почему компилятор так просто все не объяснил

Что компилятор не объяснил? Формально код правильный.
Однако у меня сильное подозрение, что warning комилятор таки выкидывал, но кто ж их читает?


 
Anatoly Podgoretsky ©   (2009-04-27 11:20) [6]

> KSergey  (27.04.2009 10:50:05)  [5]

Лучше предположить, что warning-и просто не включены.


 
Rembo   (2009-04-27 12:01) [7]

Так они отключаютсья?0о
Только что вернул все назад запустил, еррор, НИИДИНОГО ВАРНИНГА НЕБЫЛО!
[Hint] graph.pas(389): Value assigned to "a" never used
[Hint] graph.pas(388): Value assigned to "time" never used
[Hint] graph.pas(343): Variable "xxx" is declared but never used in "TTxt.inittxt"
[Hint] graph.pas(490): Variable "I" is declared but never used in "TSprite.send"
[Hint] graph.pas(490): Variable "k" is declared but never used in "TSprite.send"
[Hint] graph.pas(653): Variable "i" is declared but never used in "initbtns"
[Hint] graph.pas(663): Variable "j" is declared but never used in "graphinit"
[Hint] graph.pas(664): Variable "k" is declared but never used in "graphinit"


 
First blood   (2009-04-27 12:22) [8]


> Rembo   (27.04.09 09:22) [4]
> D3DXCreateTextureFromFileEx(....,@inf);
> Ну вот почему компилятор так просто все не объяснил

А это уже зависит от того как описана в хидере эта функция, а также думаю от настроек компилятора [x] Typed @ operator



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

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

Наверх




Память: 0.49 MB
Время: 0.009 c
15-1239207553
Rolano
2009-04-08 20:19
2009.06.14
Вопрос по созданию в Delphi "Облочки для работы с DOS"


4-1210937602
_Z_
2008-05-16 15:33
2009.06.14
Сохранить пароль в защищенное хранилище


3-1222314069
AE
2008-09-25 07:41
2009.06.14
поврежден файл.db -как восстановить


2-1240598283
buzb
2009-04-24 22:38
2009.06.14
Вопрос о Drag-n-Drop


11-1197626410
chum
2007-12-14 13:00
2009.06.14
Проблема с KOLComObj