![]() | |
| | #1 (permalink) |
| Üye Üyelik Tarihi: 04/2008 Yer: Diyarbakır
Mesaj: 9
|
merhaba arkadaşlar, XP ile gül gibi çalışan ADO database tabanlı bir programım var. Vista testlerini yaparken tuhaf bir durumla karşılaştım. Şöyle ki, Vistada iki kullanıcı oluşturuyorum. Programım tek veritabanı dosyası kullanıyor olmasına rağmen sanki iki kullanıcının girdikleri datalar ayrı dosyalara kaydediliyormuş gibi her kullanıcı sadece kendi girdiği datalara erişebiliyor. Network üzerinden yaptığım testte de Uzak kullanıcının yazdığı bilgilerin veritabanı dosyası boyutunda hiçbir değişiklik yapmadığını gördüm. Hiçbir hata oluşmuyor programı kapat aç veriler görünüyor ancak her kullanıcı sadece kendi girdiği verileri görebiliyor. Epeyce aradım ama veritabanı dosyamın bir kopyasını da bulamadım bilgisayarda. Vista benim bilmediğim başka bir yere her kullanıcı için veritabanı dosyamdan bir kopya çıkarıyor anladığım kadarıyla. Bu tuhaf sorunu çözmem için yardımlarınızı bekliyorum. |
| | |
| | #4 (permalink) |
| Üye Üyelik Tarihi: 03/2004
Mesaj: 105
|
merhaba vistada aslında ortak klasör diye bişey yok yani program files belgeler klasörü sanal yani senin gördüklerin sanal kısayollar.bunu galiba biryerde total commander gibi programlarla görebiliyorsun diye biliyorum.bence problem bunla ilgili ama sadece tahmin yürütüyorum.bunu bir araştır istersen. kolay gelsin. |
| | |
| | #6 (permalink) |
| Üye Üyelik Tarihi: 04/2008 Yer: Diyarbakır
Mesaj: 9
|
İlgilendiğiniz için çok tşk. lütfen devam edin çünkü hâla çözemedim bu sorunu. ADO kullanıyorum, Access database ler üzerinde çalışıyorum. kullanıcı izinleri ile ilgili nasıl bir problem olabileceğini anlayamadım. programım auto login le (şifresiz) veritabanı dosyasını kullanıyor. Bir örnekle tekrar anlatayım. C:\ de bulunan bir mdb dosyam var. vistayı Ali isimli hesapla açıp programımı kullanarak o dosyaya kayıtlar giriyorum. girdiğim kayıtları görüyorum, sorgulayabiliyorum, vs. hiçbir sorun yok. Ama Vistayı Veli adlı hesapla açınca aynı programla (ki program hep aynı veritabanı dosyasını açıyor) hiçbir hata almıyorum ama Ali nin girdiği kayıtları göremiyorum. yine Veli kullanıcısı olarak kayıt girebiliyor, kayıtları istediğim gibi sorgulayıp görebiliyorum. Ama bu kez de Ali oturumunda Veli kullanıcısının girdiği kayıtlar görünmüyor. Yani her vista kullanıcısı sadece kendi girdiği kayıtlar üzerinde işlemler yapabiliyor. Çok tuhaf gerçekten ama durum aynen böyle. Yardımlarınızın devamını bekliyorum. |
| | |
| | #7 (permalink) |
| Üye Üyelik Tarihi: 07/2008
Mesaj: 5
|
Bende okul için yazdığım dersane otomasyonunda benzer bir sorunla kaşılaştım program XP den süper çalışıyodu vista da denedim MSADODC.OCX dosyasıyla ilgili bir hata mesajı verip açılmıyor internette aradım bulamadım Not: Programın setup ını yapmıştım tüm OCX leri kendisi yüklüyor yani OCX eksikliğinden değil |
| | |
| | #9 (permalink) |
| Üye Üyelik Tarihi: 04/2008 Yer: Diyarbakır
Mesaj: 9
|
evet, teşekkürler, ADO-Vista da farklı kullanıcıların aynı veritabanındaki kayıtları görememeleri ile ilgili sorun UAC tan kaynaklanıyor. UAC ı program kodlarıyla devre dışı bırakmak da mantıklı ve mümkün görünmüyor. Bunun için program içinde kullanıcıyı mutlaka uyarmak gerekiyor. Örneğin kullandığı işletim sistemi vista ise admin değilse bazı işlemleri yapamayacağı konusunda mesaj vermeliyiz. Bunun için kullandığım iki fonksiyonu sizlerle de paylaşayım: 1. XP ve Vistada kullanıcının admin yetkilerine sahip olup olmadığını test eden fonksiyon: {------------------------------------------------------------------------------} const SECURITY_NT_AUTHORITY: TSIDIdentifierAuthority = (Value: (0, 0, 0, 0, 0, 5)) ; const SECURITY_BUILTIN_DOMAIN_RID = $00000020; DOMAIN_ALIAS_RID_ADMINS = $00000220; function IsWindowsAdmin: Boolean; var hAccessToken: THandle; ptgGroups: PTokenGroups; dwInfoBufferSize: DWORD; psidAdministrators: PSID; g: Integer; bSuccess: BOOL; begin Result := False; bSuccess := OpenThreadToken(GetCurrentThread, TOKEN_QUERY, True, hAccessToken) ; if not bSuccess then begin if GetLastError = ERROR_NO_TOKEN then bSuccess := OpenProcessToken(GetCurrentProcess, TOKEN_QUERY, hAccessToken) ; end; if bSuccess then begin GetMem(ptgGroups, 1024) ; bSuccess := GetTokenInformation(hAccessToken, TokenGroups, ptgGroups, 1024, dwInfoBufferSize) ; CloseHandle(hAccessToken) ; if bSuccess then begin AllocateAndInitializeSid(SECURITY_NT_AUTHORITY, 2, SECURITY_BUILTIN_DOMAIN_RID, DOMAIN_ALIAS_RID_ADMINS, 0, 0, 0, 0, 0, 0, psidAdministrators) ; for g := 0 to ptgGroups.GroupCount - 1 do if EqualSid(psidAdministrators, ptgGroups.Groups[g].Sid) then begin Result := True; Break; end; FreeSid(psidAdministrators) ; end; FreeMem(ptgGroups) ; end; end; {------------------------------------------------------------------------------} bu fonksiyonu örneğin if IsWindowsAdmin Then ...... else ..... şeklinde kullanabilirsiniz. 2. Kullanılan işletim sistemini tespit eden fonksiyon: .... type TWinVersion = (wvWinXP, wvWinVista, wvUnknown) ; ..... {------------------------------------------------------------------------------} function GetWinVersion: TWinVersion; var osVerInfo: TOSVersionInfo; majorVersion, minorVersion: Integer; begin Result := wvUnknown; osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo) ; if GetVersionEx(osVerInfo) then begin minorVersion := osVerInfo.dwMinorVersion; majorVersion := osVerInfo.dwMajorVersion; if osVerInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then begin if (majorVersion = 5) and (minorVersion = 1) then Result := wvWinXP else if (majorVersion = 6) then Result := wvWinVista; end; end; end; {------------------------------------------------------------------------------} bu fonksiyonun kullanımına örnek: if (GetWinVersion = wvWinVista) then ...... iki fonksiyonu beraber kullanalım: (kullanıcı vista işletim sistemini kullanıyorsa ve admin haklarına sahip değilse ![]() if (GetWinVersion = wvWinVista) and (IsWindowsAdmin = False) then ....... umarım işinize yarar. |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| Orada neler oluyor? | Sahin | Olumlu Sohbet | 8 | 24/03/2008 00:37 |
| foruma neler oluyor :S | PHYSiCaL_MeM | Ceviz.net Hakkında | 2 | 10/12/2005 21:43 |
| Bilgisayarıma Neler Oluyor | e-MaLi | Windows | 23 | 22/06/2005 15:55 |
| neler oluyor bize ? | HiperAktif® | Duyurular & İlanlar | 4 | 21/02/2004 14:18 |
| neler oluyor?? | aBSoLuT-BuLL | Hayata Dair | 16 | 01/09/2003 10:17 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |