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

Вниз

Zeos lib. Помогите с ошибкой.   Найти похожие ветки 

 
Rembo   (2006-06-22 16:20) [0]

Вощем создал TWebModule, кинул на него TZConection и TZQuery  (компоненты для работы с базами данных).
Ошибка возникает в следующей строке:
Query.SQL.Text:=sqlcode;

Пишет:
Access violation at address 00535AE7

Ктонибудь знает в чем может быть причина?
З.Ы Query.SQL - свойство типа TStrings


 
Плохиш ©   (2006-06-22 16:48) [1]


> Rembo   (22.06.06 16:20)  
> Вощем создал TWebModule, кинул на него TZConection и TZQuery
>  (компоненты для работы с базами данных).
> Ошибка возникает в следующей строке:
> Query.SQL.Text:=sqlcode;

Можно увидить весь код, где написана эта строчка?


 
sniknik ©   (2006-06-22 16:52) [2]

тогда уж и описание созданного класса от TWebModule (убедится что "кинутые" TZConection и TZQuery действительно там лежат ;)


 
Rembo   (2006-06-22 18:01) [3]

Конечно можно!
Вот функция:
function mainpage:string;
var i:integer;s:string;
begin
 result:="";
 nom:=IFile.ReadString("config","news_on_main","10");
 with Webmodule1 do begin
 Webmodule1.Query.SQL.Text:="lol"; //<<<<<<<<<<
 Roq.Active:=true;
 messagebox(0,PChar(inttostr(roq.RecordCount)),"",0);
 for i:=0 to roq.RecordCount-1 do
   begin
     result:=result+findrep("<NewsName>238y5ht32",ROQ["title"],nomt.Text);
     result:=result+findrep("<NewsContent>325235kl",ROQ["content"],result);
     result:=result+findrep("news_id1050815",ROQ["id"],result);
     result:=result+findrep("<Commcount>8293568",ROQ["comm_count"],result);
   end;
 //result:=result+"<br>"+inttostr(roq.RecordCount);
 end;
end;


Вот глав. процедура откуда вызываеться функция:

procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
 Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
 var module:char;m,resp:string;
begin
Query.SQL.Text:="lol";//Здесь ошибка не возникает
if (length(Request.PathInfo) = 0) or (Request.PathInfo="/") then
 begin
   Response.Content:=Response.Content+findrep("<newsplace>",mainpage,themef.Text);
   exit;
 end;


Вот класс:
type
 TWebModule1 = class(TWebModule)
   Connect: TZConnection;
   ROQ: TZReadOnlyQuery;
   Query: TZQuery;


Правда не думаю что это чем то может помочь. Кстати, в


 
Плохиш ©   (2006-06-22 18:11) [4]

Сделай функцию mainpage методом TWebModule1. Привыкай к ООП.


 
Palladin ©   (2006-06-22 18:18) [5]

webmodule1 указывает в никуда... или кудато в космос, обращатся к нему неправомерно... такой нюанс имеет место быть в вебприложениях на делфи...


 
Плохиш ©   (2006-06-22 18:24) [6]


> Palladin ©   (22.06.06 18:18) [5]
> такой нюанс имеет место быть в вебприложениях на делфи

Ну дык, достаточно заглянуть в TWebApplication.CreateForm ;-)
Унификация - это наше будущее :o)


 
Palladin ©   (2006-06-22 18:31) [7]

достаточно, но лениво...


 
Rembo   (2006-06-22 18:38) [8]

Тоесть...
Как обратиться к компоненте из функции mainpage?
Непонял


 
Плохиш ©   (2006-06-22 18:41) [9]


> Palladin ©   (22.06.06 18:31) [7]
> достаточно, но лениво...

:-)) я и заглянул только после твоего поста. Показалось нелогичным, вроде CreateForm, а указывает в никуда. Заглянул, а там красота 8-) и даже комментарий есть :-)


 
Плохиш ©   (2006-06-22 18:57) [10]


> Rembo   (22.06.06 18:38) [8]
> Тоесть...
> Как обратиться к компоненте из функции mainpage?

Что не понятно, если она является методом класса?


 
Rembo   (2006-06-22 19:07) [11]

Ошибка в чем? Я так и не понял.


 
Плохиш ©   (2006-06-22 19:14) [12]


> Rembo   (22.06.06 19:07) [11]
> Ошибка в чем? Я так и не понял.

Переменная WebModule1 равна nil.

А сделать тебе предлагается следуюшее:

type
 TWebModule1 = class(TWebModule)
   HTTPSoapDispatcher1: THTTPSoapDispatcher;
   HTTPSoapPascalInvoker1: THTTPSoapPascalInvoker;
   WSDLHTMLPublish1: TWSDLHTMLPublish;
   procedure WebModule1DefaultHandlerAction(Sender: TObject;
     Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
 private
   { Private-Deklarationen }
 public
   { Public-Deklarationen }
   function mainpage:string;  
end;

function TWebModule1.mainpage:string;
...

И выкинуть из mainpage все упоминания переменной WebModule1!


 
Rembo   (2006-06-22 19:14) [13]

Ладна, неважно, решил проблему так:
function mainpage(var query:TZQuery):string;
Пасиба



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

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

Наверх




Память: 0.49 MB
Время: 0.069 c
1-1148980769
Pavels
2006-05-30 13:19
2006.07.09
Плагинная архитектура приложения.


15-1150011125
Yanis
2006-06-11 11:32
2006.07.09
Где WASM.RU?


11-1129736845
thaddy
2005-10-19 19:47
2006.07.09
Freepascal and kol 2.16 need change of ppDelphi s windows.pas


15-1149967652
VirEx
2006-06-10 23:27
2006.07.09
J2ME документация на русском, где достать?


1-1149054716
Dr. Andrew
2006-05-31 09:51
2006.07.09
Как тобразить в подсказке Hint символы U+007C?