سلام دوستان
میخواستم ببینم آیا امکان این وجود داره که ببینیم بانک اطلاعاتی مورد استفاده نرمافزار ما توسط کاربر دیگری مورد استفاده قرار گرفته یا خیر؟
نیاز فوری دارم! لطفاً کمک کنید!!
Printable View
سلام دوستان
میخواستم ببینم آیا امکان این وجود داره که ببینیم بانک اطلاعاتی مورد استفاده نرمافزار ما توسط کاربر دیگری مورد استفاده قرار گرفته یا خیر؟
نیاز فوری دارم! لطفاً کمک کنید!!
ندای هل من ناصر ما رو کسی جواب نمیده؟؟
منظورتون در حال حاضره یا اینکه قبلا استفاده شده.؟نقل قول:
میخواستم ببینم آیا امکان این وجود داره که ببینیم بانک اطلاعاتی مورد استفاده نرمافزار ما توسط کاربر دیگری مورد استفاده قرار گرفته یا خیر؟
دقیقاً میخوام ببینم در حال حاضر اون دیتابیس باز هست یا خیر؟ یعنی اینکه دیتابیس با اکسس یا نرمافزار خودم (توسط کاربر دیگه) باز هست یا نه...نقل قول:
منظورتون در حال حاضره یا اینکه قبلا استفاده شده.؟
یکی از راهکارها اینه که فایل ldb ساخته شده رو بررسی کنید.میتونید اگه وجود نداشت یعنی بانک بستست. اگه بود و پاکش کردید و پاک نشد یعنی در حال اجراست و اگه پاک شد یعنی بانک بستست.
البته حذف این فایل یه پیشنهاده . میتونید خصوصیاتش رو تغییر بدید و چک کنید.
پیشنهاد خوبی بود! ولی زمانی که فاکسپرو کار میکردم، یه تابع داشتیم که مشخص میکرد فایلمون در حال استفاده هست یا نه!! یه همچین چیزی میخواستم! ولی بازم ممنون
البته از کد زیر هم میتونید استفاده کنید.
function IsFileInUse(FileName: TFileName): Boolean;
var
HFileRes: HFILE;
begin
Result := False;
if not FileExists(FileName) then Exit;
HFileRes := CreateFile(PChar(FileName),GENERIC_READ or GENERIC_WRITE,0,nil,OPEN_EXISTING,FILE_ATTRIBUTE_N ORMAL,0);
Result := (HFileRes = INVALID_HANDLE_VALUE);
if not Result then
CloseHandle(HFileRes);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if IsFileInUse('C:\1.exe') then
ShowMessage('File is in use.')
else
ShowMessage('File not in use.');
end;
ایده جالبی دادی... مرسی... ذهنت خیلی باز تر از خیلیاستا!!!!
تابعی هست که در صورتیکه تیبل(table) باز بود نتیجه آن true و در غیر این صورت نتیجه false بشود
if tbl.active then tbl is open...
مرسی، ولی منظورم Table نبود!