Classe de ferramentas - POO
Estou tentando montar uma classe, com algums funções pra eu ir usando em meus projetos.
tentei fazer essa função de selecionar o grid e mandar zebrar, mas não está funcionando.
Não deixa eu compilar... Acusa erro na identicação... desconfio que falta alguma unit na uses.
Já rodei o google e não achei a qual ela pertence ou o que eu estou errando...
Se alguém poder me dar uma luz... Agradeço desde já
******************************************* CLASSE DE AUXILIO *****************************************
unit umytoys;
interface
uses
Variants, Classes, Graphics, Controls, ExtCtrls, Windows, Messages, SysUtils, IniFiles, DB, IBCustomDataSet, Dialogs, IBQuery, IBDatabase,
DBClient, Provider, StdCtrls, Jpeg, ComCtrls, GRids, IBScript, DBCtrls, DBGRids, forms;
type toys = class
grid : TDBGrid;
procedure Zebrar(const grid_selecionado : TDBGrid);
property SelecionaGrid : TDBGrid read grid write grid;
end;
implementation
procedure Toys.Zebrar(const grid_selecionado: TDBGrid);
begin
if not odd(grid_selecionado.DataSource.DataSet.RecNo) then begin
if not (gdSelected in State) then
begin
grid_selecionado.Canvas.Brush.Color := clMoneyGreen;
grid_selecionado.Canvas.FillRect(Rect);
grid_selecionado.DefaultDrawDataCell(rect,Column.Field,state);
end;
end;
end;
end.
tentei fazer essa função de selecionar o grid e mandar zebrar, mas não está funcionando.
Não deixa eu compilar... Acusa erro na identicação... desconfio que falta alguma unit na uses.
Já rodei o google e não achei a qual ela pertence ou o que eu estou errando...
Se alguém poder me dar uma luz... Agradeço desde já
******************************************* CLASSE DE AUXILIO *****************************************
unit umytoys;
interface
uses
Variants, Classes, Graphics, Controls, ExtCtrls, Windows, Messages, SysUtils, IniFiles, DB, IBCustomDataSet, Dialogs, IBQuery, IBDatabase,
DBClient, Provider, StdCtrls, Jpeg, ComCtrls, GRids, IBScript, DBCtrls, DBGRids, forms;
type toys = class
grid : TDBGrid;
procedure Zebrar(const grid_selecionado : TDBGrid);
property SelecionaGrid : TDBGrid read grid write grid;
end;
implementation
procedure Toys.Zebrar(const grid_selecionado: TDBGrid);
begin
if not odd(grid_selecionado.DataSource.DataSet.RecNo) then begin
if not (gdSelected in State) then
begin
grid_selecionado.Canvas.Brush.Color := clMoneyGreen;
grid_selecionado.Canvas.FillRect(Rect);
grid_selecionado.DefaultDrawDataCell(rect,Column.Field,state);
end;
end;
end;
end.
Adib Valentim
Curtidas 0
Respostas
Cauê Nishijima
30/05/2014
Olá Adib, tenta o seguinte:
unit umytoys;
interface
uses
Variants, Classes, Graphics, Controls, ExtCtrls, Windows, Messages, SysUtils,
IniFiles, DB, IBCustomDataSet, Dialogs, IBQuery, IBDatabase,
DBClient, Provider, StdCtrls, Jpeg, ComCtrls, GRids, IBScript, DBCtrls,
DBGRids, forms;
type
toys = class
grid: TDBGrid;
procedure Zebrar(const grid_selecionado: TDBGrid);
property SelecionaGrid: TDBGrid read grid write grid;
procedure GridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
end;
implementation
procedure toys.GridDrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if not odd(grid.DataSource.DataSet.RecNo) then
begin
if not(gdSelected in State) then
begin
grid.Canvas.Brush.Color := clMoneyGreen;
grid.Canvas.FillRect(Rect);
grid.DefaultDrawDataCell(Rect, Column.Field, State);
end;
end;
end;
procedure toys.Zebrar(const grid_selecionado: TDBGrid);
begin
grid := grid_selecionado;
grid_selecionado.OnDrawColumnCell := GridDrawColumnCell;
end;
end.
GOSTEI 0
Adib Valentim
30/05/2014
Na hora de compliar já apresenta erro de AccessViolation.
GOSTEI 0
Cauê Nishijima
30/05/2014
Mas como você esta fazendo a chamada?
GOSTEI 0
Adib Valentim
30/05/2014
Instancio e seto o nome do grid como parametro
e aí na hora de compilar dá o access violation
e aí na hora de compilar dá o access violation
GOSTEI 0
Cauê Nishijima
30/05/2014
Tem como postar o código ?!!hhh
GOSTEI 0
Cauê Nishijima
30/05/2014
Tem como postar o código ?!!
GOSTEI 0