OLE;"Arama aranan tarafından kabul edilmedi"hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
huseyinkucuk
Üye
Mesajlar: 142
Kayıt: 29 Nis 2005 10:03
Konum: İstanbul
İletişim:

OLE;"Arama aranan tarafından kabul edilmedi"hatası

Mesaj gönderen huseyinkucuk »

Arkadaşlar, merhaba... Forumda aradım ama bulamadım... "OLE"yi yeni yeni öğrenmeye çalışıyorum... Excel ile başladım... Kod şöyle:

Kod: Tümünü seç

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

uses ComObj;

{$R *.dfm}
var
  OLENesnesiExcel:Variant;
  WorkBook:Variant;
procedure TForm1.FormCreate(Sender: TObject);
begin
  OLENesnesiExcel:=CreateOleObject('Excel.Application');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  WorkBook:=OLENesnesiExcel.WorkBooks.Add;
  OLENesnesiExcel.visible:=true;
  
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  Book:Variant;
  DosyaAdi:String;
begin
  DosyaAdi:=OLENesnesiExcel.GetOpenFileName;
  if FileExists(DosyaAdi) then
  begin
    Book:=OLENesnesiExcel.WorkBooks.Open(DosyaAdi);
  end;

end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  WorkBook:=OLENesnesiExcel.WorkBooks.Add;
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  SaveDialog:TSaveDialog;
  DosyaAdi:String;
begin
  SaveDialog:=TSaveDialog.Create(nil);
  SaveDialog.Title:='Dosyayı kaydedeceğiniz yeri ve dosya adını belirleyin';
  Savedialog.Filter:='Excel Dosyaları|*.xls';
  SaveDialog.DefaultExt:='xls';
  if Savedialog.Execute then
    DosyaAdi:=Savedialog.FileName;
    try
      WorkBook.SaveAs(Dosyaadi);
    except
      raise exception.Create('kayıt sırasında hata oluştu!');
    end;
end;

end.
şimdi "exceli aç" deyince (button1) veya "çalışma kitabı ekle" (button3) deyince workbook değişkeni son eklenen çalışma kitabını gösteriyo... Ben bu çalışma kitabını boş bi şekilde kaydedince problem çıkmıyo ama içine bişeyler yazıp kaydedince "Arama aranan tarafından kabul edilmedi" diye bi hata veriyor... Sebebi ne olabilir? Beni aydınlatırsanız sevinirim... Bi de OLE ile ilgili bilgi nerden edinebilirim? Teşekkürler, kolay gelsin...
29.04.2005 tarihi itibariyle Delphi öğrenmeye başlayan yeni bir kullanıcı sayılabilirim.
ikut

Ole

Mesaj gönderen ikut »

Merhaba Ole konusunda maalesef çok detaylı bilgiler yok ama late binding ve early (yanlış hatırlıyor olabilirim) binding diye 2 modu var. Bunların kendine göre avantajı ve dezavantajı var. Öncelikle Ole ile açtığın excelin hafızadan tamamen yok ettiğindende emin olmalısın.. Birde Sanırım easrly bindingte excel açık ise programını ide dışında çalıştırman gerekliydi.

son olarak deborah pate (dj pate) ole automation diye arat. ayrıca http://www.swissdelphicenter.ch ta çok güzel örnek kodlar var.
Cevapla