خطأ بعد التحزيم Innosetup
#1
السلام عليكم
رمضان مبارك

لدي مشروع دلفي وقاعدة بيانات MSaccess
استخدمت المكون FDConnection

عند تحزيم هذا المشروع ببرنامج Inno setup ونقله وتنصيبه في كمبيوتر آخر لا يعمل وتظهر رسالة خطأ
Acceser violation  قمت بتتبع الخطأ فكان في مسار قاعدة البيانات

هل يمكن مساعدتي في كيفية ادراج ملف قاعدة البيانات بحيث لو تم عمل تنصيب للبرنامج في جهاز آخر ترفق من ضمن الملفات المدرجة في Programm files ويتم التعامل مع البرنامج على اي جهاز يتم تنصيبه عليه
الرد
#2
يجب ان يتعرف البرنامج على مكان قاعدة البيانات عند التنفيذ
و ان لا يكون البرنامج يتعرف عليها بواسطة المكون مباشر
عليك بالبحث عن Connection String

كمثال التعرف على قاعدة بيانات FireBird عند الملف التنفيذي:

PHP كود :
begin

    
try
    FDConnection1.Connected := False;
    FDConnection1.Params.DriverID:='FB' ;

    FDConnection1.Params.Database :=  ExtractFilePath(Paramstr(0))+'GESTION.FDB'    ;
    FDConnection1.Params.Username := 'sysdba';
    FDConnection1.Params.Password := 'masterkey';
    FDConnection1.LoginPrompt := False;
    FDConnection1.Params.Add('CharacterSet=utF8');

    FDConnection1.Open;
    FDConnection1.Connected:=true ;

    FDTable1.TableName:='PRODUITS' ;
    FDTable1.Active:=true;

except
  ShowMessage
('خطأ في قاعدة البيانات'); 
وقل ربي زدني علماً
الرد
#3
شكرا الأخ bouh25 جربت الطريقة لكن لم تنجح
الرد
#4
وعليكم السلام و تقبل الله صيامكم

تكون الصيغة كالتالي


كود :
procedure TForm1.FormCreate(Sender: TObject);
var
CheminDB:string;

begin

CheminDB:=ExtractFileDir(Application.ExeName) +'\dbdemos.mdb';


  if FileExists(CheminDB) then begin


      with FDConnection1 do begin
        Close;

        with Params do begin
          Clear;
          Add('DriverID=MSAcc');
          Add('Database=' + CheminDB);
        end;
        Open;


        //------ Table ------

        FDTable1.TableName := 'country' ;
        FDTable1.Open;

      end;

  end else
    ShowMessage(' la base de données n''existe pas!');




end;

* قاعدة البيانات تكون بجانب الملف التنفيذي ، إذا كانت في مجلد كمثال Data تكون الكتابة كما يلي

كود :
CheminDB:=ExtractFileDir(Application.ExeName) +'\Data\dbdemos.mdb';


يوجد مثال في المرفقات


الملفات المرفقة
.rar   FireDac base de donnees Access.rar (الحجم : 101.52 ك ب / التحميلات : 16)
الرد
#5
السلام عليكم
بعد تحزيم مشروع دلفي ببرنامج innosetup ونقله الى كمبيوتر آخر
تظهر هذه النافذة بعد التنصيب

[صورة: p_15814a5041.jpg]
الرد
#6
(30-04-2020, 09:36 PM)appakar كتب : السلام عليكم
بعد تحزيم مشروع دلفي ببرنامج innosetup ونقله الى كمبيوتر آخر
تظهر هذه النافذة بعد التنصيب

[صورة: p_15814a5041.jpg]

وعليك السلام

هل برنامجك مربوط بـ ODBC
الرد
#7
الاخ Larbiparadox
كيف يتم ربط البرنامج بالـ OBDC؟؟؟؟
الرد
#8
ربما الاوفيس غير مثبت في الجهاز

يمكنك تحميل هذا و تنصيه في الجهاز يحل المشكل

https://www.microsoft.com/en-us/download...x?id=13255
الرد
#9
السلام عليكم
جهاز الزبون يحتوي على Access ويشتغل بشكل عادي
لكن مشكل برنامجي مازال قائما
الرد
#10
(03-05-2020, 11:15 PM)appakar كتب : السلام عليكم
جهاز الزبون يحتوي على Access ويشتغل بشكل عادي
لكن مشكل برنامجي مازال قائما

وعليك السلام

اذا امكن ارسلي على الخاص برنامج التثبيت
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم