نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل در استفاده از SharpZipLib در دلفی دات نت

  1. #1

    Question مشکل در استفاده از SharpZipLib در دلفی دات نت

    با سلام و خسته نباشید به بخش دلفی

    در یک پروژه ای که با دلفی دات نت هست ، برای فشرده سازی از SharpZipLib استفاده شده که یه پروژه بازمتن هست و برای دات نت دو هم آماده کرده اند نسخه جدیدش را .

    البته واسه دلفی از نسخه دات نت 1.1 را دانلود و استفاده میخوام بکنم.

    دانلود این کامپوننت

    بسیارخب ! من دانلودش کردم ( لینک بالایی) و یک DLL بنام ICSharpCode.SharpZipLib.dll در پوشه Bin ئش بود که اون را از طریق Add Refrence به پروژه دلفی دات نت ، اضافه کردم.

    ولی خطایی که میگیرد این هست :

    [Pascal Fatal Error] F1026 File not found: 'p:\common\sharpziplib\ICSharpCode.SharpZipLib.dll
    '

    از شما تقاضا دارم که بررسی کنید که مشکل در کجاست ؟
    ضمنا یه سری Bath File هم همراه با این کامپوننت بود که من نمیدونستم باید چکارشون کنم ؟
    لطفا ابتدا آن را دریافت و تست کنید و سپس روش نصب آن را به من هم یاد بدهید.

    با تشکر از زحمات شما.

  2. #2
    من گرفتمش و AddRefrence کردم DLLش رو (بدون نصب) بعد Useش کردم و راحت کار کرد.
    راستی چرا از خود Zlib استفاده نمیکنی؟

    اینو تستی نوشتم :


    unit WinForm;

    interface

    uses
    System.Drawing, System.Collections, System.ComponentModel,
    System.Windows.Forms, System.Data,ICSharpCode.SharpZipLib.Zip;

    type
    TWinForm = class(System.Windows.Forms.Form)
    {$REGION 'Designer Managed Code'}
    strict private
    /// <summary>
    /// Required designer variable.
    /// </summary>
    Components: System.ComponentModel.Container;
    Button1: System.Windows.Forms.Button;
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    procedure InitializeComponent;
    procedure Button1_Click(sender: System.Object; e: System.EventArgs);
    {$ENDREGION}
    strict protected
    /// <summary>
    /// Clean up any resources being used.
    /// </summary>
    procedure Dispose(Disposing: Boolean); override;
    private
    { Private Declarations }
    public
    constructor Create;
    end;

    [assembly: RuntimeRequiredAttribute(TypeOf(TWinForm))]

    implementation

    {$AUTOBOX ON}

    {$REGION 'Windows Form Designer generated code'}
    /// <summary>
    /// Required method for Designer support -- do not modify
    /// the contents of this method with the code editor.
    /// </summary>
    procedure TWinForm.InitializeComponent;
    begin
    Self.Button1 := System.Windows.Forms.Button.Create;
    Self.SuspendLayout;
    //
    // Button1
    //
    Self.Button1.Location := System.Drawing.Point.Create(48, 88);
    Self.Button1.Name := 'Button1';
    Self.Button1.TabIndex := 0;
    Self.Button1.Text := 'Button1';
    Include(Self.Button1.Click, Self.Button1_Click);
    //
    // TWinForm
    //
    Self.AutoScaleBaseSize := System.Drawing.Size.Create(5, 13);
    Self.ClientSize := System.Drawing.Size.Create(292, 266);
    Self.Controls.Add(Self.Button1);
    Self.Name := 'TWinForm';
    Self.Text := 'WinForm';
    Self.ResumeLayout(False);
    end;
    {$ENDREGION}

    procedure TWinForm.Dispose(Disposing: Boolean);
    begin
    if Disposing then
    begin
    if Components <> nil then
    Components.Dispose();
    end;
    inherited Dispose(Disposing);
    end;

    constructor TWinForm.Create;
    begin
    inherited Create;
    //
    // Required for Windows Form Designer support
    //
    InitializeComponent;
    //
    // TODO: Add any constructor code after InitializeComponent call
    //
    end;

    procedure TWinForm.Button1_Click(sender: System.Object; e: System.EventArgs);
    var
    AFastZip: ICSharpCode.SharpZipLib.Zip.FastZip;
    begin
    AFastZip := FastZip.Create;
    try
    AFastZip.CreateZip('Test.Zip', '.', True, '.Txt','');
    finally
    AFastZip.Free;
    end;
    end;

    end.




    خوشگل هم هرچی فایل TXT تو فولدر بود رو Zip کرد.
    دیگه دات نت هم هست Try.. Finally هم نزاری نزاشتی مثلا گاربیج کالکتر داره.

  3. #3
    من گرفتمش و AddRefrence کردم DLLش رو (بدون نصب)
    آهان. من هم این دفعه کار کرد. فرقش با دفه قبل این بود که پوشه ای که دانلود کرده بودم قبلا مسیرش توی دستکتاپ بود ولی حالا که بردمش مثلا به درایو F و اونجا کپیش کردم ، خطا نگرفت کار کرد.

    همین را نمیفهمم ! **بدون نصب** . مگه این را باید طوری نصب کرد ؟ و اگر نصب نکنیم و فقط Add Reference کنیم ، آنوقت آیا باید خوده DLL را هم با برنامه ، توزیع کنیم ؟

  4. #4
    به هر حال باید اینو همراه برنامت ببری و فکر هم نمی کنم به اینکه کجا گذاشته بودیش ربطی داشته باشه چون خودش وقتی اضافش میکنی و کامپایل میکنی یک کپی ازش رو کنار فایل Exe میسازتش ، اما اگر نصبش کنی اونوقت بعنوان یک Assembley رجیستر شده در ویندوز میشه که دیگه بقیه برنامه ها هم میتونند ارش استفاده کنند و نیازی نیست بغل هر فایل Exe یکدونه ازش باشه اما اونوقت هرجا میری باید این رو کامپیوتر نصب شده باشه...
    فکر میکنم مشکلت درست Use نکردن اسمش بود.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •