Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wolverius

Erro de principiante (Incompatible Types)

Recommended Posts

Olá, sou novo no Fórum e na linguagem. estou fazendo um cursinho online (meia boca e de graça) para tentar me aprofundar em Delphi, a lógica eu tenho de minha parte acadêmica que eu não sei porque os inúteis dos professores insistem em passar C não orientado a objetos. Seguindo a Apostila eu encontrei um erro do qual não consigo me livrar é o:

 

[Error] MDI_Texto.pas(43): Incompatible types: 'TBasicAction' and 'TCloseAction'

 

a linha é essa do "caFree"

 

 

procedure TfrmTexto.Memo1Change(Sender: TObject);
begin
if memo1.Modified = true then begin
if messagedlg('Deseja salvar as alterações feitas em'+
Caption + '?',
mtConfirmation, [mbYes,mbNo], 0) = mrYes then begin
frmPrincipal.Salvar1.Click;
Action := caFree; {AQUI QUE DÁ O ERRO}
frmTexto := NIL;
end else
begin
close;
frmTexto := Nil;
end;
end;
end;
end.
o que será que eu fiz de errado? pode ser algo errado na função do meu botão salvar que está dando incompatibilidade? até essa parte estava tudo compilado e funcionando.

Desculpem o incômodo, estou entrando de cabeça e estudando 6 horas por dia aproveitando o meu seguro desemprego para entrar de cabeça na área do Delphi. terei uma entrevista na próxima semana (por sorte não muito concorrida) e quero ter o maior conhecimento possível até lá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tirei os ";" depois dos cafree, aí começou a dar o mesmo erro na linha de baixo. eu não entendo. preciso dar mais alguma informação pertinente a ajuda?



Nossa galera, consegui, era muito simples, o meu precedure ali no começo estava em um lugar absolutamente errado, devo ter clicado sem querer no touch, ou fui no lugar errado mesmo.Isso que dá ficar "zumbizando" muito tempo em uma coisa, acabamos com a cabeça cheia e nervosa. Desculpem o incômodo. se alguém quiser me mandar um material para aprendizado rápido e eficiente eu seria muito grato. até mais.


unit MDI_Texto;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TfrmTexto = class(TForm)
Memo1: TMemo;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmTexto: TfrmTexto;
implementation
uses MDI_Principal;
{$R *.dfm}
procedure TfrmTexto.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Memo1.Modified = true then begin
if Messagedlg('Deseja salvar as alterações feitas em '+
Caption +'?',
mtConfirmation,[mbYes,mbNo],0) = mrYes then begin
frmPrincipal.Salvar1.Click;
Action := caFree;
frmTexto :=Nil;
end else
begin
Action := caFree;
frmTexto := NIL;
end;
end;
end;
end.

Compartilhar este post


Link para o post
Compartilhar em outros sites
procedure TfrmPrincipal.Salvar1Click(Sender: TObject);

begin


with TfrmTexto(ActiveMDIChild)do

begin

if dlSalvar.FileName ='' then

begin

dlsalvar.FileName:= Caption;

end;

if dlsalvar.Execute then

begin

Memo1.Lines.SaveToFile(dlSalvar.FileName);

Caption := ExtractFileName (dlsalvar.FileName);

Memo1.Modified := false;

end;

end;

end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

if messagedlg('Deseja salvar as alterações feitas em'+
Caption + '?',

 

 

Que Caption é esse ?

É alguma variável global ?

ou faltou você colocar o componente a qual esse Caption pertence ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigos.

 

Da forma como está, a propriedade Caption pertence ao "Form" em questão.

 

Quando utilizar alguma propriedade do próprio Form, uma boa dica é utilizá-la com o "Self", assim fica claro de onde está vindo a informação que você esteja trabalhando.

 

Referente ao seu problema, você conseguiu resolve-lo?

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.