Форум: "Начинающим";
Текущий архив: 2006.07.09;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.01 c