我用D7+ADO+INTRAWEB编程,运行是出错“未调用COINITIALIZE”,但在哪个UNIT中调用?无论我怎样调用COINITIALIZE,总是说“未调用”,请高手明示代码,100分就给他。我的代码如下:工程文件
program user;uses
Forms,
IWMain,
ServerController in '..\source\ServerController.pas' {IWServerController: TIWServerController},
DataModuleUnit in '..\source\DataModuleUnit.pas' {DataModule1: TDataModule},
main in '..\source\main.pas' {IWForm1: TIWFormModuleBase};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TformIWMain, formIWMain);
Application.Run;end.主窗口:
unit main;interfaceuses
Classes, SysUtils, IWAppForm, IWApplication, IWTypes, Controls,
IWBaseControl, IWControl, IWGrids, IWDBGrids;type
TIWForm1 = class(TIWAppForm)
IWDBGrid1: TIWDBGrid;
public
end;implementation{$R *.dfm}uses
ServerController, DataModuleUnit;
initialization
TIWForm1.SetAsMainForm;
end.控制台:
unit ServerController;interfaceuses
SysUtils, Classes,IWServerControllerBase, IWBaseForm, HTTPApp,
// For OnNewSession Event
DataModuleUnit, IWApplication, IWAppForm;type
TIWServerController = class(TIWServerControllerBase)
procedure IWServerControllerBaseNewSession(ASession: TIWApplication;
var VMainForm: TIWBaseForm);
private
public
end; TUserSession = class(TComponent)
public
DataModule1: TDataModule1;
constructor Create(AOwner: TComponent); override;
end;// Procs
function UserSession: TUserSession;implementation
{$R *.dfm}uses
IWInit;function UserSession: TUserSession;
begin
Result := TUserSession(WebApplication.Data);
end;procedure TIWServerController.IWServerControllerBaseNewSession(
ASession: TIWApplication; var VMainForm: TIWBaseForm);
begin
ASession.Data := TUserSession.Create(nil);
end;constructor TUserSession.Create(AOwner: TComponent);
begin
inherited;
DataModule1 := TDataModule1.Create(Self);
end;initialization
TIWServerController.SetServerControllerClass;
end.数据模块:
unit DatamoduleUnit;interfaceuses
{$IFDEF Linux}QForms, {$ELSE}Forms, {$ENDIF}
SysUtils, Classes, DBTables, DB, ADODB;type
TDataModule1 = class(TDataModule)
DataSource1: TDataSource;
Session1: TSession;
query1: TADOQuery;
query1bianhao: TWideStringField;
query1username: TWideStringField;
query1tel: TWideStringField;
query1fax: TWideStringField;
query1email: TWideStringField;
query1contactor: TWideStringField;
query1city: TWideStringField;
procedure DataModuleCreate(Sender: TObject);
private
public
end;// Procs
function DataModule1: TDataModule1;implementation
{$R *.dfm}uses
IWInit,
ServerController;.
function DataModule1: TDataModule1;
begin
Result := TUserSession(WebApplication.Data).Datamodule1;
end;procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
query1.open;
end;end.
program user;uses
Forms,
IWMain,
ServerController in '..\source\ServerController.pas' {IWServerController: TIWServerController},
DataModuleUnit in '..\source\DataModuleUnit.pas' {DataModule1: TDataModule},
main in '..\source\main.pas' {IWForm1: TIWFormModuleBase};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TformIWMain, formIWMain);
Application.Run;end.主窗口:
unit main;interfaceuses
Classes, SysUtils, IWAppForm, IWApplication, IWTypes, Controls,
IWBaseControl, IWControl, IWGrids, IWDBGrids;type
TIWForm1 = class(TIWAppForm)
IWDBGrid1: TIWDBGrid;
public
end;implementation{$R *.dfm}uses
ServerController, DataModuleUnit;
initialization
TIWForm1.SetAsMainForm;
end.控制台:
unit ServerController;interfaceuses
SysUtils, Classes,IWServerControllerBase, IWBaseForm, HTTPApp,
// For OnNewSession Event
DataModuleUnit, IWApplication, IWAppForm;type
TIWServerController = class(TIWServerControllerBase)
procedure IWServerControllerBaseNewSession(ASession: TIWApplication;
var VMainForm: TIWBaseForm);
private
public
end; TUserSession = class(TComponent)
public
DataModule1: TDataModule1;
constructor Create(AOwner: TComponent); override;
end;// Procs
function UserSession: TUserSession;implementation
{$R *.dfm}uses
IWInit;function UserSession: TUserSession;
begin
Result := TUserSession(WebApplication.Data);
end;procedure TIWServerController.IWServerControllerBaseNewSession(
ASession: TIWApplication; var VMainForm: TIWBaseForm);
begin
ASession.Data := TUserSession.Create(nil);
end;constructor TUserSession.Create(AOwner: TComponent);
begin
inherited;
DataModule1 := TDataModule1.Create(Self);
end;initialization
TIWServerController.SetServerControllerClass;
end.数据模块:
unit DatamoduleUnit;interfaceuses
{$IFDEF Linux}QForms, {$ELSE}Forms, {$ENDIF}
SysUtils, Classes, DBTables, DB, ADODB;type
TDataModule1 = class(TDataModule)
DataSource1: TDataSource;
Session1: TSession;
query1: TADOQuery;
query1bianhao: TWideStringField;
query1username: TWideStringField;
query1tel: TWideStringField;
query1fax: TWideStringField;
query1email: TWideStringField;
query1contactor: TWideStringField;
query1city: TWideStringField;
procedure DataModuleCreate(Sender: TObject);
private
public
end;// Procs
function DataModule1: TDataModule1;implementation
{$R *.dfm}uses
IWInit,
ServerController;.
function DataModule1: TDataModule1;
begin
Result := TUserSession(WebApplication.Data).Datamodule1;
end;procedure TDataModule1.DataModuleCreate(Sender: TObject);
begin
query1.open;
end;end.
解决方案 »
- 刚刚知道的秘密,可能有些人还不知道吧!
- 我机器上设置了多个ip地址(一个网卡),如何得到IP地址列表;
- Service Application怎么来接收消息?
- 刚毕业,刚到一个公司应聘,有一个技术问题,快点帮帮我啊======〉〉〉
- 怎么无法传递参数值给:id?
- 软件发布:Visual CHM
- RemObjects Hydra 插件框架问题
- 怎么判断MOUSE已离开了按键SPEEDBUTTON1
- 用鼠标中键自动滚屏
- 如何给运行中生成节点的treeview控件加图标?????
- 请问获得本机任务栏所有任务(进程)的方法是?(在线等待)
- 高分求 Microsoft Project 2002 标准版序列号
multied即可。