Komponent yazilminda OnClick sorunu.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Komponent yazilminda OnClick sorunu.

Mesaj gönderen ikra »

Selamu aleyküm degerli kardeslerim.
Bir ToolBar bileseni hazirlamaya calisiyorum fakat create etmis oldugum butonlardan birinin OnClick özelligini projemin icinde kullanmak istedigimde calismiyor. Bu konuda oldukca yeniyim, ilk bilesenim. Tecrübesizligim bu yüzden.
Kolar asagida görüldügü gibi...

Kod: Tümünü seç

unit EGAdvDockPanel;

interface

uses
  Windows, Classes, Controls, Graphics, Messages, Types, Forms, Dialogs,
  Math, SysUtils, ExtCtrls, ComCtrls, Buttons,
  AdvToolBar, AdvToolBarStylers, AdvFontCombo, cxRichEdit, AdvSelectors,
  RzPanel, AdvToolBtn;
  
type
  TBarButton = Class;
  
  TBarButton = class(TAdvToolBarButton)
  private
  protected
  public
    constructor Create(AOwner: TComponent); override;
  published
    property OnClick;
  end;

  TEGAdvDockPanel = class(TAdvDockPanel)
  private
    { Private declarations }
    FToolBarStyler : TAdvToolBarOfficeStyler;
    FImage : TImageList;
    FRich : TcxCustomRichEdit;
    FToolBar : TAdvToolBar;

    FBtnCut : TAdvToolBarButton;
    FBtnCopy : TAdvToolBarButton;
    FBtnPaste : TAdvToolBarButton;
    FBtnUndo : TAdvToolBarButton;
    FPanel : TRzPanel;
    FFontSelector : TAdvFontSelector;
    FSpinEdit : TAdvOfficeComboBox;
    FColorSelector : TAdvTextColorSelector;
    FBtnBold : TAdvToolBarButton;
    FBtnItalic : TAdvToolBarButton;
    FBtnUnderline : TAdvToolBarButton;
    FSeperator1 : TAdvToolBarSeparator;
    FBtnLeftAlign : TAdvToolBarButton;
    FBtnCenterAlign : TAdvToolBarButton;
    FBtnRightAlign : TAdvToolBarButton;
    FSeperator2 : TAdvToolBarSeparator;
    FBtnPrint : TBarButton;
  protected
    { Protected declarations }
  public
    { Public declarations }
    constructor Create(AOwner : TComponent); override;
    destructor Destroy; override;

    procedure SetImage(const Value : TImageList);
    procedure BtnClick(Sender : TObject);
    procedure CmbChange(Sender : TObject);
    procedure ColorSelect(Sender: TObject; Index: Integer; Item: TAdvSelectorItem);
    procedure SetRich(const Value : TcxCustomRichEdit);
    procedure RichSelectionChange(Sender : TObject);
  published
    { Published declarations }
    property IconList : TImageList read FImage write SetImage;
    property Rich : TcxCustomRichEdit read FRich write SetRich;
  end;

procedure Register;

implementation

procedure Register;
begin
  RegisterComponents('eigene', [TEGAdvDockPanel]);
end;
//-------------------------------------------------------------------------
constructor TBarButton.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end;
//-------------------------------------------------------------------------
constructor TEGAdvDockPanel.Create(AOwner : TComponent);
var i : integer;
begin
  inherited Create(AOwner);

  {Styler}
  if not Assigned(FToolBarStyler) then
  FToolBarStyler := TAdvToolBarOfficeStyler.Create(self);
  FToolBarStyler.Style := bsOffice2003Blue;

  ToolBarStyler := FToolBarStyler;

  {Toolbar}
  if not Assigned(FToolBar) then
    FToolBar := TAdvToolBar.Create(self);
  with FToolBar do
  begin
    ShowOptionIndicator := false;
    ToolBarStyler := FToolBarStyler;
    AllowFloating := false;
    Locked := true;
    Parent := self;
    if Assigned(FImage) then images := FImage;
    Show;
  end;

  if not Assigned(FBtnCut) then
    FBtnCut := TAdvToolBarButton.Create(AOwner);
  with FBtnCut do
  begin
    Name := 'Cut';
    Hint := 'Ausschneiden';
    Tag := 0;
    ImageIndex := 0;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnCut);

  if not Assigned(FBtnCopy) then
    FBtnCopy := TAdvToolBarButton.Create(AOwner);
  with FBtnCopy do
  begin
    Name := 'Copy';
    Hint := 'Kopieren';
    Tag := 1;
    ImageIndex := 1;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnCopy);

  if not Assigned(FBtnPaste) then
    FBtnPaste := TAdvToolBarButton.Create(AOwner);
  with FBtnPaste do
  begin
    Name := 'Paste';
    Hint := 'Einfügen';
    Tag := 2;
    ImageIndex := 2;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnPaste);

  if not Assigned(FBtnUndo) then
    FBtnUndo := TAdvToolBarButton.Create(AOwner);
  with FBtnUndo do
  begin
    Name := 'Undo';
    Hint := 'Zurück';
    Tag := 3;
    ImageIndex := 3;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnUndo);

  if not Assigned(FPanel) then
    FPanel := TRzPanel.Create(self);
  with FPanel do
  begin
    Name := 'FPanel';
    width := 237;
    height := 23;
    BorderSides := [];
    Transparent := true;
  end;
  FToolBar.AddToolBarControl(FPanel);

  if not Assigned(FFontSelector) then
    FFontSelector := TAdvFontSelector.Create(AOwner);
  with FFontSelector do
  begin
    Name := 'FontSelect';
    Style := csDropDownList;
    DisplayRecentSelection := false;
    Top := 3;
    Left := 3;
    width := 150;
    Tag := 0;
    OnChange := CmbChange;
    Parent := FPanel;
  end;

  if not Assigned(FSpinEdit) then
    FSpinEdit := TAdvOfficeComboBox.Create(AOwner);
  with FSpinEdit do
  begin
    Name := 'Spin';
    Top := 3;
    Left := 156;
    Width := 40;
    Tag := 1;
    Style := csDropDownList;
    DisplayRecentSelection := false;
    i := 8;
    while i < 32 do
    begin
      Items.Add(IntToStr(i));
      i := i + 1;
      if i > 10 then i := i + 1;
    end;
    OnChange := CmbChange;
    Parent := FPanel;
  end;

  if not Assigned(FColorSelector) then
    FColorSelector := TAdvTextColorSelector.Create(AOwner);
  with FColorSelector do
  begin
    Name := 'ColorSelect';
    Style := ssCombo;
    Top := 3;
    Left := 199;
    width := 35;
    Height := 19;
    AppearanceStyle := esOffice2003Blue;
    OnSelect := ColorSelect;
    Parent := FPanel;
  end;

  if not Assigned(FBtnBold) then
    FBtnBold := TAdvToolBarButton.Create(AOwner);
  with FBtnBold do
  begin
    Name := 'Bold';
    Hint := 'Fett';
    Tag := 4;
    ImageIndex := 4;
    //Style := tasCheck;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnBold);

  if not Assigned(FBtnItalic) then
    FBtnItalic := TAdvToolBarButton.Create(AOwner);
  with FBtnItalic do
  begin
    Name := 'Italic';
    Hint := 'Kursiv';
    Tag := 5;
    ImageIndex := 5;
    //Style := tasCheck;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnItalic);

  if not Assigned(FBtnUnderline) then
    FBtnUnderline := TAdvToolBarButton.Create(AOwner);
  with FBtnUnderline do
  begin
    Name := 'Underline';
    Hint := 'Unterstrichen';
    Tag := 6;
    ImageIndex := 6;
    //Style := tasCheck;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnUnderline);

  if not Assigned(FSeperator1) then
    FSeperator1 := TAdvToolBarSeparator.Create(self);
  with FSeperator1 do
  begin
    LineColor := clBlack;
    AdvToolBar := FToolBar;
  end;

  if not Assigned(FBtnLeftAlign) then
    FBtnLeftAlign := TAdvToolBarButton.Create(AOwner);
  with FBtnLeftAlign do
  begin
    Name := 'LeftAlign';
    Hint := 'Linksbündig';
    Tag := 7;
    ImageIndex := 7;
    GroupIndex := 1;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnLeftAlign);

  if not Assigned(FBtnCenterAlign) then
    FBtnCenterAlign := TAdvToolBarButton.Create(AOwner);
  with FBtnCenterAlign do
  begin
    Name := 'CenterAlign';
    Hint := 'Zentriert';
    Tag := 8;
    ImageIndex := 8;
    GroupIndex := 1;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnCenterAlign);

  if not Assigned(FBtnRightAlign) then
    FBtnRightAlign := TAdvToolBarButton.Create(AOwner);
  with FBtnRightAlign do
  begin
    Name := 'RightAlign';
    Hint := 'Rechtsbündig';
    Tag := 9;
    ImageIndex := 9;
    GroupIndex := 1;
    OnClick := BtnClick;
  end;
  FToolBar.AddToolBarControl(FBtnRightAlign);

  if not Assigned(FSeperator2) then
    FSeperator2 := TAdvToolBarSeparator.Create(self);
  with FSeperator2 do
  begin
    LineColor := clBlack;
    AdvToolBar := FToolBar;
  end;

  if not Assigned(FBtnPrint) then
    FBtnPrint := TBarButton.Create(AOwner);
  with FBtnPrint do
  begin
    Name := 'Drucken';
    Hint := 'Drucken';
    //Tag := 10;
    //ImageIndex := 10;
  end;
  FToolBar.AddToolBarControl(FBtnPrint);
end;
//------------------------------------------------------------------------------

destructor TEGAdvDockPanel.Destroy;
begin
  if Assigned(FToolBarStyler) then FToolBarStyler.Free;

  if Assigned(FFontSelector) then FFontSelector.Free;
  if Assigned(FSpinEdit) then FSpinEdit.Free;
  if Assigned(FColorSelector) then FColorSelector.Free;
  
  if Assigned(FSeperator1) then FSeperator1.Free;
  if Assigned(FSeperator2) then FSeperator2.Free;
  
  if Assigned(FBtnCut) then FBtnCut.Free;   
  if Assigned(FBtnCopy) then FBtnCopy.Free;
  if Assigned(FBtnPaste) then FBtnPaste.Free;
  if Assigned(FBtnUndo) then FBtnUndo.Free;
  if Assigned(FBtnBold) then FBtnBold.Free;
  if Assigned(FBtnItalic) then FBtnItalic.Free;
  if Assigned(FBtnUnderline) then FBtnUnderline.Free;
  if Assigned(FBtnLeftAlign) then FBtnLeftAlign.Free;
  if Assigned(FBtnCenterAlign) then FBtnCenterAlign.Free;
  if Assigned(FBtnRightAlign) then FBtnRightAlign.Free;
  if Assigned(FBtnPrint) then FBtnPrint.Free;

  if Assigned(FPanel) then FPanel.Free;
  
  if Assigned(FToolBar) then FToolBar.Free;

  inherited;
end;
//------------------------------------------------------------------------------
procedure TEGAdvDockPanel.SetRich(const Value : TcxCustomRichEdit);
begin
  if FRich <> Value then FRich := Value;
  with FRich, Properties, Style do
  begin
    OnSelectionChange := RichSelectionChange;
    Font.Name := 'Tahoma';
    HideSelection := false;
    SelectionBar := true;
  end;

  with FFontSelector do
    ItemIndex :=  Items.IndexOf(FRich.Style.Font.Name);
end;
//------------------------------------------------------------------------------
procedure TEGAdvDockPanel.SetImage(const Value : TImageList);
begin
  if FImage <> Value then FImage := Value;
  FToolBar.Images := FImage;
end;
//------------------------------------------------------------------------------
procedure TEGAdvDockPanel.RichSelectionChange(Sender : TObject);
begin
if Assigned(FRich) then
begin
  FBtnBold.Down := fsBold in FRich.SelAttributes.Style;
  FBtnItalic.Down := fsItalic in FRich.SelAttributes.Style;
  FBtnUnderline.Down := fsUnderline in FRich.SelAttributes.Style;
  FBtnCut.Enabled := FRich.SelLength > 0;
  FBtnCopy.Enabled := FBtnCut.Enabled;

  // select current font and color
  FColorSelector.SelectedColor := FRich.SelAttributes.Color;
  FFontSelector.ItemIndex := FFontSelector.Items.IndexOf(FRich.SelAttributes.Name);
  FSpinEdit.ItemIndex := FSpinEdit.Items.IndexOf(IntToStr(FRich.SelAttributes.Size));
  
  case Ord(FRich.Paragraph.Alignment) of
    0: FBtnLeftAlign.Down := True;
    1: FBtnRightAlign.Down := True;
    2: FBtnCenterAlign.Down := True;
  end;
end;
end;
//------------------------------------------------------------------------------
procedure TEGAdvDockPanel.BtnClick(Sender : TObject);
begin
if Assigned(FRich) then
begin
  case TComponent(Sender).Tag of
    0 : FRich.CutToClipboard;
    1 : FRich.CopyToClipboard;
    2 : FRich.PasteFromClipboard;
    3 : FRich.Undo;
    4 : with FRich.SelAttributes do
        if fsBold in Style then Style := Style - [fsBold]
        else Style := Style + [fsBold];
    5 : with FRich.SelAttributes do
        if fsItalic in Style then Style := Style - [fsItalic]
        else Style := Style + [fsItalic];
    6 : with FRich.SelAttributes do
        if fsUnderline in Style then Style := Style - [fsUnderline]
        else Style := Style + [fsUnderline];
    7 : FRich.Paragraph.Alignment := TAlignment(taLeftJustify);
    8 : FRich.Paragraph.Alignment := TAlignment(taCenter);
    9 : FRich.Paragraph.Alignment := TAlignment(taRightJustify);
  end;
end;
end;
//------------------------------------------------------------------------------
procedure TEGAdvDockPanel.CmbChange(Sender : TObject);
begin
if Assigned(FRich) then
  case TComponent(Sender).Tag of
    0 : FRich.SelAttributes.Name := FFontSelector.Text;
    1 : FRich.SelAttributes.Size := StrToInt(FSpinEdit.Text);
  end;
end;
//------------------------------------------------------------------------------
procedure TEGAdvDockPanel.ColorSelect(Sender: TObject; Index: Integer;
  Item: TAdvSelectorItem);
begin
if Assigned(FRich) then
  FRich.SelAttributes.Color := FColorSelector.SelectedColor;
end;

end.
TBarButton class i ile türettigim bilesenin OnClick eventini object inspector da görüyorum, üzerine cift tikladigimda prosedürü yaziyor ve icine showmessage yazdigimda mesaj vermiyor.

sizce nerede hata yapiyorum?

selam ve dua ile...
kıdemsiz üye
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

@ikra,

Senin türettiğin TAdvToolBarButton sınıfı onclick olayını destekliyor mu? TBarButton sınıfını türetmişsin ama yeni bir şey katmamışsın.

Kod: Tümünü seç

constructor TBarButton.Create(AOwner: TComponent);
begin
  inherited Create(AOwner);
end; 
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

onclick i destekliyor hocam. daha önceden de bahsettigim gibi yeniyim bu konuda. google falan yaptim ama yeterli bilgiye ulasamadim.
kıdemsiz üye
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

hala bir sonuca ulasabilmis degilim. :(
kıdemsiz üye
Kullanıcı avatarı
undefined
Moderator
Mesajlar: 565
Kayıt: 06 Eki 2003 12:01
Konum: Bursa
İletişim:

Mesaj gönderen undefined »

Kod: Tümünü seç

  if not Assigned(FBtnCut) then
   FBtnCut := TAdvToolBarButton.Create(AOwner);
  with FBtnCut do
  begin
    Name := 'Cut';
    Hint := 'Ausschneiden';
    Tag := 0;
    ImageIndex := 0;
    OnClick := BtnClick;   ***
  end; 
Hocam yıldız koyduğum satıra dikkat et. Orda zaten componentin OnClick olayını BtnClick fonksiyonu olarak ayarlıyorsun. Buna design anında müdahale etsende, yaratıldıktan sonra OnClick başka bir yeri göstericek şekilde ayarlandığı için çalışmıyor.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

Hocam öncelikle ilginiz icin tesekkür ederim...

ben sanirim 10 tane buton create ediyorum. bunlarin 9'una iceriden BtnClick ile islem yaptiriyorum ve 10. buton a disaridan islem yaptirmak istiyorum.

9 butonun herbirine OnClick := BtnClick; seklinde islem yaptirdim ve 10. buton'un islemi bilesenin icinde degil, proje nin icinde olmali.

Kod: Tümünü seç

if not Assigned(FBtnPrint) then 
    FBtnPrint := TBarButton.Create(AOwner); 
  with FBtnPrint do 
  begin 
    Name := 'Drucken'; 
    Hint := 'Drucken'; 
    //Tag := 10; 
    //ImageIndex := 10; 
  end;
bu kisima dikkatinizi cekmek istiyorum. burada OnClick tanimlanmamis.

saygilarimla...
kıdemsiz üye
Kullanıcı avatarı
vampir261
Üye
Mesajlar: 298
Kayıt: 23 Kas 2004 03:22
Konum: Denizli

Mesaj gönderen vampir261 »

Bende bir kez 100 tane edit bileşeni create ettim ancak onchange olaylarına ulaşamadım. Bende tuttum forma bir tane edit koydum ve onchange olayında istediğim işi yazdım. visible ınu false yaptım. sonra nesneleri create ettikten sonra bunların onchange olaylarını tasarım aşamasında ki edit e bağladım. problemsiz çalıştı. belki bir fikir verebilir sana. kolay gelsin
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

hocam bahsettiginiz olayi bire bir ben de denedim :D
fakat pozitif bir sonuca ulasamadim malesef. :oops:
kıdemsiz üye
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

@ikra,

Kod: Tümünü seç

TEGAdvDockPanel = class(TAdvDockPanel)
private 
   FOnButtonClick : TNotifyEvent;
...
published
  property OnButtonClick : TNotifyEvent read FOnButtonClick write FOnButtonClick;
...
end;

procedure TEGAdvDockPanel.BtnClick(Sender : TObject);
begin
if Assigned(FRich) then
begin
  case TComponent(Sender).Tag of
    0 : FRich.CutToClipboard; 
....
   10 : if assigned(FOnButtonClick) then FOnButtonClick(self);
end;
şeklinde bir değişiklik yaparsan istediğin olur sanırım. Atladığım noktalar olabilir.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

Hocam Allah razi olsun. Ilginizden ötürü duacinizim.
Fakat hala bir sonuca ulasabilmis degilim.
google dan da arastirdim, buldugum tüm örnekleri denedim fakat calismiyor bir türlü.
OnClick'i BtnClick e baglar isem eger, BtnClick e yazdigim kodlar calisiyor fakat proje icerisinde event yazdigimda calismiyor.
bir anlam verebilmis degilim.

Tekrar tesekkür ediyorum..
selam ve dua ile...
kıdemsiz üye
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

sorunu hallettim.
hic bir tane property yazmadim otomatik olarak kendi property sini kullandi :oops: su an onclick calisiyor...

fakat garip bir sorun ile karsi karsiyayim. sabahin bu saati oldu hala bulamadim. dizayn esnasinda form üzerine bileseni attigimda toolbar ve icinde buton create ediliyor. yine dizayn esnasinda formu kapatip tekrar actigimda bu isimde bir bilesen var diye bir hata mesaji veriyor.

Assigned ile sorguluyorum o sekilde create ediyorum degisen bir sey yok.
destroy u da yazdim ve override ettim. hem BtnPrint.Free hem de FreeAndNil(BtnPrint) seklinde denedim. freeandnil oluyor fakat yine iki adet buton üretmeye kalkiyor ve tekrar karsima ayni hata mesaji cikiyor.

2 hafta dir bir buton üzerine calisiyor olmak cildirtiyor insani...
umarim derdimi anlatabilmisim dir.

ilginiz icin tekrar tesekkürlerimi borc biliyorum.
selam ve dua ile...
kıdemsiz üye
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

@ikra,

Son önerdiğim yöntemde atladığım bir noktayı hatırladım şimdi, proje içinden onclick olayının yazılmasını istediğin butona BtnClick fonksiyonunu bağlamıyordun. Onu bağlaman ve o butonun Tag'ini 10 yapman lazım.

Vaktin varsa bir dene istersen.
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

hocam o olayi cözdüm sükürler olsun. su an onclick olayi calisiyor. fakat bu sefer de baska bir sorun var. yukarida belirttigim gibi eger form üzerine bilesen atarsam ve henüz dizayn aninda iken kapatip formu acarsam iki kere ayni butonu create etmeye calisiyor. iki defa ayni isimde buton üretilince de a component named xxx already exists seklinde bir hata aliyorum. destroy islemini de ekledim. free ediyorum ve kontrol ediyorum free olmus. hatta freeandnil seklinde de denedim ama nafile. butonun constructor una baktim iki defa tetikleniyor ve ikinci de hata veriyor. elimdeki bilesenleri kontrol ettim hepsinde constructor ve destructor var. fazladan bir sey eklenmemis. bende bu yöntemler neden yeterli gelmiyor anlamiyorum...

selam ve dua ile...
kıdemsiz üye
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

selamu aleyküm yeniden...

sorunu bir sekilde hallettim simdilik yarim yamalak. sükürler olsun 3 hafta da bir komponent yazmayi basardik :oops:

fakat bir sorun ile karsi karsiyayim her zaman oldugu gibi. ugras ugras cözemedim bir türlü ve degerli fikirlerinize basvurmayi düsündüm.

bir class tanimliyorum yukarida da görüldügü gibi

Kod: Tümünü seç

TBarButton = class(TAdvToolBarButton)
form compile oluyor ve calisiyor fakat dizayn esnasinda formu kapatip acar isem Class TBarButton not found hatasi aliyorum.

eger bulamiyorsa nasil compile ediyor ve calisiyor. eger buluyor ise neden bulamadim hatasi veriyor? sürekli ignore all tusuna basmak zorunda kaliyorum.

class i tanimlamadan önce

Kod: Tümünü seç

TBarButton = class;
seklinde ayrica bir tanimlama yaptim fakat nafile. yine ayni hatayi vermeye devam ediyor.

degerli fikirlerinizi bekliyorum.
selam ve dua ile...
kıdemsiz üye
ikra
Üye
Mesajlar: 901
Kayıt: 28 Nis 2005 01:26
Konum: Simdilik Topragin Üstü

Mesaj gönderen ikra »

sorun registerclass ile halledildi. bilginiz ola!
konu ile ilgilenen degerli dostlarima tekrar tesekkürlerimi sunarim.
duacinizim...
kıdemsiz üye
Cevapla