projenin çalıştırıldığında oluşturulan bir nesneye hükmetmek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
projenin çalıştırıldığında oluşturulan bir nesneye hükmetmek
merhaba arkadaşlar önceki konu başlığında yeni bir tabsheet oluşturmayı sormuştum bununla birlikte bir sorun daha ortaya çıktı oda şu şekilde ben o tabsheet içerisinde bir tanede richedit oluşturuyorum ve bu richeditte bir değişiklik olduğnu nasıl gözleyebilirim
richediti ve tabsheet'i bu şekilde oluşturyorum
[code]
procedure TForm1.deneme1Click(Sender: TObject);
var YeniTabsheet: TTabSheet;
metin: TRichEdit;
begin
YeniTabsheet := TTabSheet.Create(Self);
metin:= TRichEdit.Create(self);
with metin do
begin
name:='RichEdit'+inttostr(sayfa+1);
parent:= YeniTabsheet;
metin.Align := alclient;
end;
with YeniTabsheet do
begin
Name := 'ad'+inttostr(sayfa);
Parent := PageControl1;
PageControl := PageControl1;
Caption := 'Sayfa '+IntToStr(sayfa+1);
end;
sayfa:=sayfa+1;// global bi değişken olan sayfa ile nesnelerin sonundaki rakamları kontrol ediyorum
end;[/code][/quote]
richediti ve tabsheet'i bu şekilde oluşturyorum
[code]
procedure TForm1.deneme1Click(Sender: TObject);
var YeniTabsheet: TTabSheet;
metin: TRichEdit;
begin
YeniTabsheet := TTabSheet.Create(Self);
metin:= TRichEdit.Create(self);
with metin do
begin
name:='RichEdit'+inttostr(sayfa+1);
parent:= YeniTabsheet;
metin.Align := alclient;
end;
with YeniTabsheet do
begin
Name := 'ad'+inttostr(sayfa);
Parent := PageControl1;
PageControl := PageControl1;
Caption := 'Sayfa '+IntToStr(sayfa+1);
end;
sayfa:=sayfa+1;// global bi değişken olan sayfa ile nesnelerin sonundaki rakamları kontrol ediyorum
end;[/code][/quote]
RichEdit i oluşturduktan sonra, daha önce yazmış olduğun aşağıdakine benzer bir procedur u atayabilirsin.
Kod: Tümünü seç
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
//
end;
metin:= TRichEdit.Create(self);
with metin do
begin
name:='RichEdit'+inttostr(sayfa+1);
parent:= YeniTabsheet;
metin.Align := alclient;
OnChange := RichEdit1Change;
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
sevgili hocam bu procedure'ü yani richedit'in change olayını kullanmak için bir adet richedit eklemeden ulaşamıyorum tam olarak anlattığınız konuya o halde ben değişken olarak tuttuğum ve kendim create ettiğim bir nesneye çalışma esnasında nasıl ulaşabilirm yani örnek olarak metin:trichedit olarak tanımladığım bir metin nesnesi create ettikten sonra bu nesnenin on change olayına nasıl erişebilirim
ewet bu örnği denedim yanlış yaptığım bi yer var belkide metin'in on change olayına ilgili kodu yazıyorum fakat
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
//
end;
bu procedure kullanıldığında richedit1change diye bir değişkenin tanımlı olmadığı hatasını alıyorum procedure tanımlarkende alamdığım bir hata veriyo
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
//
end;
bu procedure kullanıldığında richedit1change diye bir değişkenin tanımlı olmadığı hatasını alıyorum procedure tanımlarkende alamdığım bir hata veriyo
tam olarak istediğim şu diyelimki şimdi bir adet pagecontrol üzerinde birkaçtane tabsheet ve bu tabsheetlerin heribiri için bir adet richedit oluşturuyorum ve bu tabsheet üzerindeki richeditlerden hangisi değişirse o an bir procedure'ün devreye girip richedit üzerinde bazı değişiklikler yapmasını istiyorum
Böyle bir RichEdit1Change yada adı her ne ise procedure nın yazılması tasarım aşamasında form üzerinde herhangi bir RichEdit1 bileşeninin olmasını gerektirmez. Çalışma anında/run-time de oluşturduğun nesneler için böyle bir procedur u ilgili olay/event a atayıp kullanabilirsin.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
tamam dediğinizi anladım fkat onchangeTE richedit1change procedure'ünü çağırdım zaman
Incompatible types: 'method pointer and regular procedure' diye bi hata alıyorum procedure tanımlamasını hiçbiryerde yapmadan bu şekilde bir hata alıyorum type'ın altında
procedure RichEdit1Change(Sender: TObject); şeklinde bir tanımlama yaptığımda ise
Unsatisfied forward or external declaration: 'TForm1.RichEdit1Change' şeklinde bir hata alıyorum procedure tanımlamalsını diğer procdure tanımlamalarının olduğu yerde yapıyorum
Incompatible types: 'method pointer and regular procedure' diye bi hata alıyorum procedure tanımlamasını hiçbiryerde yapmadan bu şekilde bir hata alıyorum type'ın altında
procedure RichEdit1Change(Sender: TObject); şeklinde bir tanımlama yaptığımda ise
Unsatisfied forward or external declaration: 'TForm1.RichEdit1Change' şeklinde bir hata alıyorum procedure tanımlamalsını diğer procdure tanımlamalarının olduğu yerde yapıyorum
private ın içinde yaptığın tanımlamadan sonra;
bu şekilde de procedure u yazmalısın. TForm1 yerine formun adı ne ise. Yani diğer procedure lerin nasıl başlıyor ise öyle yazmalısın..
Kod: Tümünü seç
procedure RichEdit1Change(Sender: TObject);
Kod: Tümünü seç
procedure TForm1.RichEdit1Change(Sender: TObject);
begin
//... kodlar
end;
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!