Вниз
Скачать: CL | DM;

Access violation в TWebModule   Найти похожие ветки 

← →
Zanik   (2003-11-07 15:23) [0]

Мастаки!

Помогите разобраться. Использую Zeos для подключения к MySQL. Пишу CGI приложение. Создал свой метод у TWebModule в секции public. В нем обращаюсь к запросу

...
with dm.getMaxMonth do // <- access violation
begin
if Active then Close;
Open;
max_m := FieldByName("months").AsInteger;
end;
...


Смотрю при отладке, а dm - указывает на nil. Как такое может быть? Проверял событие OnCreate - оно выполняется. Подскажите что делать? где рыть?


← →
Sandman25 ©   (2003-11-07 15:33) [1]

>Проверял событие OnCreate - оно выполняется.

OnCreate объекта TWebModule? Или все-таки dm?


← →
Плохиш_   (2003-11-07 15:33) [2]

Что такое dm?
В cgi вообще-то для обрашения к модулям создаётся function.


← →
Zanik   (2003-11-07 15:36) [3]

OnCreate объекта TWebModule?

dm - екземпляр TWebModule


← →
Плохиш_   (2003-11-07 15:37) [4]

Приведите описание dm, пожалуйста


← →
Zanik   (2003-11-07 15:38) [5]

type
Tdm = class(TWebModule)
getMaxMonth: TZZMySqlQuery;
ckop2: TZZMySqlDatabase;
ckop2tr: TZZMySqlTransact;
getDataCurrMonth: TZZMySqlQuery;
getDataMaxMonth: TZZMySqlQuery;
getDataPriorMonth: TZZMySqlQuery;
getTotal: TZZMySqlQuery;
result: TPageProducer;
procedure TotalLegendText(Sender: TCustomAxisPanel;
LegendStyle: TLegendStyle; Index: Integer; var LegendText: String);
procedure DayLegendText(Sender: TCustomAxisPanel;
LegendStyle: TLegendStyle; Index: Integer; var LegendText: String);
procedure dmWebActionItem1Action(Sender: TObject; Request: TWebRequest;
Response: TWebResponse; var Handled: Boolean);
procedure resultHTMLTag(Sender: TObject; Tag: TTag;
const TagString: String; TagParams: TStrings;
var ReplaceText: String);
private
{ Private declarations }
public
{ Public declarations }
procedure SaveTelCard( sd, ed, yyyy: integer );
procedure GetStatPicture( type_stat, sd, ed, yyyy: integer );
end;


← →
Sandman25 ©   (2003-11-07 15:40) [6]

Зачем вообще писать dm, если обращение происходит из его метода, насколько я понимаю?
Вы наверное вызываете этот метод из OnCreate, когда dm еще не присвоено значение.


← →
Плохиш_   (2003-11-07 15:41) [7]

Где строчка

function dm: TWebModule;
?


← →
Zanik   (2003-11-07 15:42) [8]

>Вы наверное вызываете этот метод из OnCreate,
нет, из SaveTelCard
>Зачем вообще писать dm,
убирал , таже фигня :(


← →
Zanik   (2003-11-07 15:44) [9]

Плохиш_ (07.11.03 15:41) [7]
всегда писал так
var
dm: Tdm;
и не было трудностей... а это чего-то глюк...


← →
Sandman25 ©   (2003-11-07 15:49) [10]

Как создается dm?
dm := Tdm.Create...?

>>Зачем вообще писать dm,
>убирал , таже фигня :(

В смысле? При
with getMaxMonth do
begin
if Active then Close;
Open;
max_m := FieldByName("months").AsInteger;
end;

тоже Access Violation? На какой строчке?


← →
Плохиш_   (2003-11-07 15:50) [11]

Откуда вызывается SaveTelCard и т.д.?


← →
Плохиш_   (2003-11-07 15:52) [12]

>Zanik

Посмотри демку в Internet\WebServ


← →
Zanik   (2003-11-07 15:53) [13]

Как создается dm?
dm := Tdm.Create...?

begin
Application.Initialize;
Application.CreateForm(Tdm, dm);
Application.Run;
end

тоже Access Violation? На какой строчке?
в той же что и раньше


← →
Zanik   (2003-11-07 15:55) [14]

Откуда вызывается SaveTelCard и т.д.?

procedure Tdm.dmWebActionItem1Action


← →
Zanik   (2003-11-07 15:57) [15]

Посмотри демку в Internet\WebServ

ну и ? ничего нового не узнал :(


← →
Sandman25 ©   (2003-11-07 16:02) [16]

Тогда я тоже не понимаю, как dm может быть nil...
Может dmWebActionItem1Action Вы вызываете из OnCreate?


← →
Плохиш_   (2003-11-07 16:03) [17]

Смотри, что ты делаешь с getMaxMonth во всей программе. Где-то она об-nil-яется или уничтожается.


← →
Плохиш_   (2003-11-07 16:05) [18]

Не используй dm.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.014 c
1-89884
Igg
2003-11-15 18:21
2003.11.27
Использование приложения под другими ОС


14-90082
Проходящи_й_
2003-11-05 10:40
2003.11.27
100$ за то, кто узнает sn delphi, версию, систему, sn из exe.


7-90135
Romka
2003-09-17 17:15
2003.11.27
Выключение компьютера


1-89876
mrAld
2003-11-15 19:37
2003.11.27
FFT


4-90164
Davinchi
2003-10-04 14:38
2003.11.27
Завершение работы приложения




   Наверх