selam arkadaşlar ya ben bi muhasebe programı yazıorum ama xp de çalımıyor giriş hatası diye bir hata veriyor.Ama windows 98 de hata vermiyor işte kod
Acaba ben diyorum ki bu 687AF68632 de mi hata var
if (FindWindow('TApplication','687AF68632') <> 0) or //Win98 de çalışıyor
(FindWindow('TfrmMuhasebe','A456E124F1') <> 0) then
----------------------------------------------------------------------------
Form Create olayına
if (FindWindow('TApplication','687AF68632') <> 0) or //Win98 de çalışıyor
(FindWindow('TfrmMuhasebe','A456E124F1') <> 0) then //Win98 de çalışıyor
begin
Close;
Application.Terminate;
Exit;
end;
Application.Title:='687AF68632';
Caption:='A456E124F1';
Install(Trim(Copy(SrvFile,10,Length(SrvFile))),Trim(Copy(RegKey,10,Length(RegKey))),Trim(Copy(InstDir,10,1)),lDir);
if UpperCase(Trim(lDir)) <> UpperCase(Trim(Application.ExeName)) then
begin
ProgramiBaslat;
Close;
Exit;
end;
---------------------------------------------------------------------
veya bu ( 687AF68632, A456E124F1 ) windows98 in girişi ise xp nin giriş noktasını biliyormusunuz
Bide verilen hata adı var işte o da bu
*Hata başlığı
Muhasabe.exe - Giriş Noktası Bulunamadı
*Mesajı
1552800 yordam giriş noktası, mpr.dll dinamik bağlantı kitaplığında bulunamadı.
Daha sonra otomatik olarak
myMuhasebe yani bu bölüme gidiyor ve begin i seçiyor
program myMuhasebe;
uses
Forms,
untMuhasebe in 'untMuhasebe.pas' {frmMuhasebe},
untislemler in '..\islemler\untislemler.pas',
untkayit in 'untkayit.pas',
untkurulum in 'untkurulum.pas',
untkayitbilgileri in 'untkayitbilgileri.pas',
untfonksiyonlar in 'untfonksiyonlar.pas';
{$R *.RES}
begin // Direk olarak buraya gelip burayı seçiyor acaba sorun burada mı
Application.Initialize;
// if FindWindow ('TfrmMuhasebe', 'SV')>0 then Application.Terminate;
Application.Title := 'TaskScheduler';
Application.CreateForm(TfrmMuhasebe, frmMuhasebe);
Application.Run;
end.
hata mı değil mi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
-
- Üye
- Mesajlar: 9
- Kayıt: 24 Haz 2004 12:06
Belki de farklı bir yöntemi kullanmalısın. Mesala mutex. Mutexler işletim sisteminde kaydedilir. Program kapandığında otomatik olarak referansı silinir. Bu yüzden bir programın açık olup olmadığını bu şekilde kontrol edebilirsin.
Kod: Tümünü seç
program myMuhasebe;
uses
Forms,
Windows, // bu eklenecek
untMuhasebe in 'untMuhasebe.pas' {frmMuhasebe},
untislemler in '..\islemler\untislemler.pas',
untkayit in 'untkayit.pas',
untkurulum in 'untkurulum.pas',
untkayitbilgileri in 'untkayitbilgileri.pas',
untfonksiyonlar in 'untfonksiyonlar.pas';
{$R *.RES}
//var
// hApplicationMutex: Integer;
(* hApplicationMutex'i bir unit'te tanımlamanı tavsiye ederim. *)
begin
hApplicationMutex := CreateMutex(nil, False, 'mtx_myMuhasebe');
if Windows.GetLastError = ERROR_ALREADY_EXISTS then
begin
Halt(0);
end;
Application.Initialize;
// if FindWindow ('TfrmMuhasebe', 'SV')>0 then Application.Terminate;
Application.Title := 'TaskScheduler';
Application.CreateForm(TfrmMuhasebe, frmMuhasebe);
Application.Run;
end.