TBitMap...não sei o que esta faltando ou o que sej ao erro..
28/03/2006
0
vejam esta parte do meu codigo...não estou entendendo nada...na USes coloquei o JPEG e mesmo assim dar erro...:
procedure WallPapper(Image1:TImage);
var
Bitmap: TBitmap;
scwidth:integer;
scheight:integer;
begin
// IMAGEM DE FUNDO
Image1.visible:=false;
scwidth:=screen.width;
scheight:=screen.height;
Bitmap := TBitMap.Create; <<<<--- o erro acontece aqui...
Bitmap.Monochrome:=false;
Bitmap.canvas.Brush.color:=$00E1FFFF;
Bitmap.Width := scwidth; // 1024;
Bitmap.Height := scHeight; //780;
Image1.Picture.assign(Bitmap);
Bitmap.free;
o erro é : Object or Class Type required
valeu galera...
fabio cavalcanti
Cavalcanti.fabio
Posts
28/03/2006
Massuda
30/03/2006
Cavalcanti.fabio
valeu,
fabio
30/03/2006
Massuda
... Bitmap: Graphics.TBitmap; ... Bitmap := Graphics.TBitMap.Create; ...
30/03/2006
Martins
... Bitmap: Graphics.TBitmap; ... Bitmap := Graphics.TBitMap.Create; ...
Curioso o código dele dá erro, olhando superficialmente me parece correto. Agora uma pergunta Massuda, se ele disse q a unit Graphics está declarada, da forma como vc está sugerindo vai mudar em q?
30/03/2006
Massuda
Na unit Windows tem um [b:f0528cc957]record[/b:f0528cc957] com o nome TBitmap enquanto na unit Graphics tem uma [b:f0528cc957]classe[/b:f0528cc957] com o nome TBitmap.
P que acontece quando você escreve apenas TBitmap é que, dependendo da ordem das units no uses, o compilador interpreta TBitmap como sendo um record (que é o que deve estar acontecendo) ou como uma classe.
Usar Graphics.TBitmap indica ao compilador que você está se referindo ao TBitmap da unit Graphics.
30/03/2006
Martins
Na unit Windows tem um [b:e2b170ac90]record[/b:e2b170ac90] com o nome TBitmap enquanto na unit Graphics tem uma [b:e2b170ac90]classe[/b:e2b170ac90] com o nome TBitmap.
P que acontece quando você escreve apenas TBitmap é que, dependendo da ordem das units no uses, o compilador interpreta TBitmap como sendo um record (que é o que deve estar acontecendo) ou como uma classe.
Usar Graphics.TBitmap indica ao compilador que você está se referindo ao TBitmap da unit Graphics.[/quote:e2b170ac90]
Blz [b:e2b170ac90]Massuda[/b:e2b170ac90], agora ficou claro, mas isso é um erro, sabe se ainda perdura nas versões mais novas do Delphi?
30/03/2006
Massuda
As regras de escopo da linguagem permitem que você use o mesmo nome/símbolo em units diferentes. Por exemplo, você pode ter em diferentes units uma mesma procedure de nome Iniciar e pode executar cada uma delas a partir de uma outra unit fazendo...
... UnitA.Iniciar; UnitB.Iniciar; ...
30/03/2006
Adriano Santos
As regras de escopo da linguagem permitem que você use o mesmo nome/símbolo em units diferentes. Por exemplo, você pode ter em diferentes units uma mesma procedure de nome Iniciar e pode executar cada uma delas a partir de uma outra unit fazendo...
... UnitA.Iniciar; UnitB.Iniciar; ...
[b:9438bacd52]Martins[/b:9438bacd52], acredito que já saiba disso, mas de qualquer forma, complementando o que o [b:9438bacd52]Massuda[/b:9438bacd52] mencionou sobre escopo, também é possível fazer isso na mesma unit, neste caso muda-se a assinatura da procudure e adiciona-se a palavra reservada [b:9438bacd52]overload[/b:9438bacd52];
... public { Public declarations } procedure Iniciar(AParam1, AParam2: String);overload; procedure Iniciar(AParam1, AParam2: Integer);overload; end; ... Implentation ... procedure TForm1.Iniciar(AParam1, AParam2: String); begin ShowMessage(´Escopo 1´); end; procedure TForm1.Iniciar(AParam1, AParam2: Integer); begin ShowMessage(´Escopo 2´); end; procedure TForm1.Button1Click(Sender: TObject); begin Iniciar(´A´,´B´); Iniciar(0,1); end;
Mas isso é para outro propósito, exemplifiquei apenas para que fique registrado caso não saiba.
30/03/2006
Martins
As regras de escopo da linguagem permitem que você use o mesmo nome/símbolo em units diferentes. Por exemplo, você pode ter em diferentes units uma mesma procedure de nome Iniciar e pode executar cada uma delas a partir de uma outra unit fazendo...
... UnitA.Iniciar; UnitB.Iniciar; ...
[b:81ab409555]Martins[/b:81ab409555], acredito que já saiba disso, mas de qualquer forma, complementando o que o [b:81ab409555]Massuda[/b:81ab409555] mencionou sobre escopo, também é possível fazer isso na mesma unit, neste caso muda-se a assinatura da procudure e adiciona-se a palavra reservada [b:81ab409555]overload[/b:81ab409555];
... public { Public declarations } procedure Iniciar(AParam1, AParam2: String);overload; procedure Iniciar(AParam1, AParam2: Integer);overload; end; ... Implentation ... procedure TForm1.Iniciar(AParam1, AParam2: String); begin ShowMessage(´Escopo 1´); end; procedure TForm1.Iniciar(AParam1, AParam2: Integer); begin ShowMessage(´Escopo 2´); end; procedure TForm1.Button1Click(Sender: TObject); begin Iniciar(´A´,´B´); Iniciar(0,1); end;
Mas isso é para outro propósito, exemplifiquei apenas para que fique registrado caso não saiba.[/quote:81ab409555]
Blz [b:81ab409555]Massuda[/b:81ab409555] e [b:81ab409555]Adriano[/b:81ab409555], tranquilo, isso eu já sabia, faço uso da palavra reservada [b:81ab409555]overload[/b:81ab409555] em uma unit de pesquisa q eu tenho aqui.
Mas, valew!!!
Clique aqui para fazer login e interagir na Comunidade :)