Fórum Criando DataModule em tempo de execução. #480280
27/05/2014
0
Estou tentando criando um datamodule em tempo de execução, mas estou tendo problemas. Tenho a seguinte estrutura:
AutoCreate -> Está somente o principal.
frmPrincipal -> Botão
procedure TForm2.SpeedButton2Click(Sender: TObject); var ConsultaSQL : TForm; begin ConsultaSQL := TfrmConsultaSQL.Create(nil); ConsultaSQL.ShowModal; ConsultaSQL.Free; end;
frmConsultaSQL
private
SQL : TDataModule;implementation Uses untDMSQL; //Nome desta unit é DMSQL
procedure TfrmConsultaSQL.FormCreate(Sender: TObject); begin SQL := TDMSQL.Create(self); end;
Já tentei
procedure TfrmConsultaSQL.FormCreate(Sender: TObject); begin SQL := DMSQL.Create(self); end;
Quando passa por está linha de criação do DataModule estoura um AV, se removo ela o form é criado normalmente.
Desde já, obrigado!
Thiago Ribeiro
Curtir tópico
+ 0Posts
27/05/2014
Cauê Nishijima
Quando você deixa o DataModule no AutoCreate não da erro?
Se puder posta o código do DataModule.
Gostei + 0
27/05/2014
Thiago Ribeiro
Segue o código do DM:
unit untDMSQL;
interface
uses
SysUtils, Classes, FMTBcd, WideStrings, DBXFirebird, DB, SqlExpr, Provider,
DBClient;
type
TDMSQL = class(TDataModule)
cdsFilmes: TClientDataSet;
dpsFilmes: TDataSetProvider;
qryFilmes: TSQLQuery;
Banco: TSQLConnection;
cdsDiretor: TClientDataSet;
dspDiretor: TDataSetProvider;
tlbDiretor: TSQLTable;
cdsDiretorDIR_NOME: TStringField;
private
{ Private declarations }
public
{ Public declarations }
end;
var
DMSQL: TDMSQL;
implementation
{$R *.dfm}
end.Gostei + 0
27/05/2014
Nelson Santos
Gostei + 0
27/05/2014
Thiago Ribeiro
procedure TfrmConsultaSQL.FormCreate(Sender: TObject); begin DMSQL := TDMSQL.Create(self); end;
Percebi que o AV ocorre quando passo por está outra linha, quando utilizo um componente que está dentro deste DM.
procedure TfrmConsultaSQL.edtDiretorChange(Sender: TObject);
var Diretor : String;
begin
Diretor := edtDiretor.Text;
DMSQL.cdsFilmes.Close; // Aqui
DMSQL.qryFilmes.ParamByName('Diretor').AsString := Diretor;
DMSQL.cdsFilmes.Open;
end;Gostei + 0
27/05/2014
Nelson Santos
http://www.3dsistemas.com.br/#!curso-delpih3d/cisv
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)