Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.06.14;
Скачать: [xml.tar.bz2];

Вниз

Проблема с ООП 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.004 c
2-1240749151
Dmitrii
2009-04-26 16:32
2009.06.14
что возврошает функция Integer(str) ?


6-1203400294
grisme
2008-02-19 08:51
2009.06.14
CONNECT-режим


15-1239292132
CoderM
2009-04-09 19:48
2009.06.14
Реализация Captcha


2-1240809337
Elun
2009-04-27 09:15
2009.06.14
Проблема с типизованным файлом!


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский