السلام عليكم لقد أتممت إنجاز تطبيق لسطح المكتب لكن صادفتني هذه المشكلة بعد نقله الى جهاز اخر و إليكم صورة رسالة الخطأ و اخرى لخصائص الجهاز المستقبل مع العلم أن أول فورم لهذا التطبيق استعملت فيه firedac لربط قاعدة البيانات اما باقي الفورمات فاستخدمت adoconnection و اللغة المستخدمة هي delphi xe 10 berlin
السلام عليكم
ملاحظة: وجود ADO Connection و الـ FireDac Connection متصلين على نفس قاعدة البيانات يعتبر مستخدمين لقاعدة البيانات تشغيل التطبيق مرتين لديك اربع مستخدمين لنفس قاعدة البيانات...
(29-09-2020, 01:02 AM)S.FATEH كتب : [ -> ]السلام عليكم
ملاحظة: وجود ADO Connection و الـ FireDac Connection متصلين على نفس قاعدة البيانات يعتبر مستخدمين لقاعدة البيانات تشغيل التطبيق مرتين لديك اربع مستخدمين لنفس قاعدة البيانات...
إذا حسب إعتقادك لابد ان يكون الربط بنفس اداة الربط لحل المشكل ؟
اظن انه اثناء انجاز التطبيق.. الاتصال لم يكن ديناميكي
السلام عليكم
بنفس الطريقة التي حددت بها المسار في الـ ADO حدد المسار في الـ FireDac ...
السلام عليكم
المشكل حسب الصورة في FireDac ، وعملية الإتصال بـ ODBC ، غير عملية الإتصال لا تتصل بـ ODBC ، إتصل مباشرة بدون وسيط
(02-10-2020, 09:10 AM)fars74 كتب : [ -> ]اظن انه اثناء انجاز التطبيق.. الاتصال لم يكن ديناميكي
شكرا للجميع لقد تم حل المشكلة و ذلك بوضع الملف التنفيذي و قاعدة البيانات في نفس المسار الافتراضي الذي تمت فيه انجاز المشروع
المسار كالاتي D:\َApplication\prg\Win32\Debug
شكرا للجميع

إقتباس :شكرا للجميع لقد تم حل المشكلة و ذلك بوضع الملف التنفيذي و قاعدة البيانات في نفس المسار الافتراضي الذي تمت فيه انجاز المشروع
المسار كالاتي D:\َApplication\prg\Win32\Debug
اذا فهمت كلامك فانت قمت بانشاء هذه المجلدات وهذا المسار بالجهاز الثاني وهذا حل اراه غير مناسب ولو عمل البرنامج والمفترض ان تتعلم كيف تتصل بقاعدة البيانات في مجلد المشروع مثلا
يمكنك مثلا معرفة مجلد المشروع بالكود التالي
كود :
ExtractFileDir(Application.ExeName)
كود :
ExpandFileName(GetCurrentDir + '\..\..\'); // Current folder
ExpandFileName(ExtractFileDir(Application.ExeName) + '\..\..\'); // Exe folder
إقتباس :هل ممكن مكان وضع الكود شكرا
يتم ذلك عن طريق الربط الديناميكي لقاعدة البيانات الخاصة بك
هذا الكود كمثال على ذلك: "يوضع في الحدث On Create" للفورم "Data module"
كود :
procedure Tdm.DataModuleCreate(Sender: TObject);
begin
try
FDConnection.Connected := False;
FDConnection.Params.Clear ;
FDConnection.Params.DriverID:='MSAcc' ;
FDConnection.Params.Database:= 'Database='+ExtractFilePath(Application.ExeName)+'yourdatabase.mdb';
FDConnection.Params.Username := '';
FDConnection.Params.Password := '';
FDConnection.LoginPrompt := False;
FDConnection.Params.Add('CharacterSet=utF8');
FDConnection.Open;
FDConnection.Connected:=true;
Table1.Active:=true;
Table2.Active:=true;
//ShowMessage('OK');
except
ShowMessage('Erreur data base!!!');
end;
end;
end.
ثم في الاخير يتم تحزيم البرنامج عن طريق InnoSetup compiler
ملاحظة مهة جدا: يجب التعليم على الخاصية "Install for current user only"