Sayfayı Yazdır | Pencereyi Kapat

Forma tekrar girme hatası

Nereden Yazdırıldığı: Clomosy | Forum
Kategori: Form Oluşturma
Forum Adı: TclForm Oluşturma
Forum Tanımlaması: Standart bir form oluşturma
URL: https://forum.clomosy.com.tr/forum_posts.asp?TID=1434
Tarih: 16 Haziran 2026 Saat 16:26
Program Versiyonu: Web Wiz Forums 12.07 - https://www.webwizforums.com


Konu: Forma tekrar girme hatası
Mesajı Yazan: Hatice ✨
Konu: Forma tekrar girme hatası
Mesaj Tarihi: 06 Nisan 2026 Saat 19:20
iyi günler kodlarımda giriş yap veya kayıt ol tuşlarını yanlızca bir kez kullanabiliyorum ikici kez girmeye çalıştığımda RUNTIME ERROR
File library Main: Access violation at address 0000000000ECF6BD in module 'ClomosyLearn.exe' (offset 82F6BD). Read of address 0000000000000000 when evaluating instruction CallProc ($FFFFFFFF,$0,$179A270,$0,'Run').
Stack content is: [Null,Null,2379138370480,2379137240176...].
Source position: 17,44
Position: 17, 44

[COLOR=BLACK]Hatasını veriyor bunun hakkında ne yapabilirim[/COLOR]

var MainForm, RegisterForm, LoginForm, SearchForm : TclForm; RegUserEdt, RegPassEdt, RegPassConfEdt : TclProEdit; RegShowBtn, BtnDoReg, BtnReg, BtnLog, BtnDoLog : TclProButton; LogUserEdt, LogPassEdt : TclProEdit; LogShowBtn : TclProButton; RobotChk, TermsChk : TclCheckBox; SearchEdt : TclProEdit; SearchBtn : TclProButton; NovaTitle, WelcomeLbl : TclProLabel; SavedUser, SavedPass : String; void GoToRegister; { if (RegisterForm <> nil) RegisterForm.Run; } void GoToLogin; { if (LoginForm <> nil) LoginForm.Run; } void ShowHidePassReg; { if (RegPassEdt.Password == True) { RegPassEdt.Password = False; RegPassConfEdt.Password = False; } else { RegPassEdt.Password = True; RegPassConfEdt.Password = True; } } void ShowHidePassLog; { if (LogPassEdt.Password == True) LogPassEdt.Password = False; else LogPassEdt.Password = True; } void OnRegisterClick; { if (Length(RegUserEdt.Text) < 8) { ShowMessage('Kullanici adi en az 8 karakter olmali!'); } else if (RegPassEdt.Text <> RegPassConfEdt.Text) { ShowMessage('Sifreler uyusmuyor!'); } else if (Length(RegPassEdt.Text) < 8) { ShowMessage('Sifre en az 8 karakter olmali!'); } else { SavedUser = RegUserEdt.Text; SavedPass = RegPassEdt.Text; ShowMessage('Kayit Basarili! Giris yapabilirsiniz.'); LoginForm.Run; } } void OnLoginClick; { if ((TermsChk.IsChecked == False) || (RobotChk.IsChecked == False)) { ShowMessage('Lutfen kutucuklari onaylayin!'); exit; } if ((LogUserEdt.Text == SavedUser) && (LogPassEdt.Text == SavedPass)) { SearchForm.Run; } else { ShowMessage('Hatali kullanici adi veya sifre!'); } } { MainForm = TclForm.Create(Self); RegisterForm = TclForm.Create(Self); LoginForm = TclForm.Create(Self); SearchForm = TclForm.Create(Self); MainForm.SetFormColor('#f0f2f5', '', clGNone); WelcomeLbl = MainForm.AddNewProLabel(MainForm, 'WelcomeLbl', 'NoVA'); WelcomeLbl.Align = alTop; WelcomeLbl.Margins.Top = 80; WelcomeLbl.Height = 60; WelcomeLbl.clProSettings.FontSize = 50; WelcomeLbl.clProSettings.FontHorzAlign = palCenter; WelcomeLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#4285F4'); WelcomeLbl.SetclProSettings(WelcomeLbl.clProSettings); BtnReg = MainForm.AddNewProButton(MainForm, 'BtnReg', 'Kayit Ol'); BtnReg.Align = alTop; BtnReg.Margins.Top = 100; BtnReg.Margins.Left = 50; BtnReg.Margins.Right = 50; BtnReg.Height = 50; MainForm.AddNewEvent(BtnReg, tbeOnClick, 'GoToRegister'); BtnLog = MainForm.AddNewProButton(MainForm, 'BtnLog', 'Giris Yap'); BtnLog.Align = alTop; BtnLog.Margins.Top = 20; BtnLog.Margins.Left = 50; BtnLog.Margins.Right = 50; BtnLog.Height = 50; MainForm.AddNewEvent(BtnLog, tbeOnClick, 'GoToLogin'); RegUserEdt = RegisterForm.AddNewProEdit(RegisterForm, 'RegUser', 'Yeni Kullanici Adi'); RegUserEdt.Align = alTop; RegUserEdt.Margins.Top = 50; RegUserEdt.Margins.Left = 30; RegUserEdt.Margins.Right = 30; RegUserEdt.Height = 45; RegPassEdt = RegisterForm.AddNewProEdit(RegisterForm, 'RegPass', 'Sifre'); RegPassEdt.Align = alTop; RegPassEdt.Margins.Top = 10; RegPassEdt.Margins.Left = 30; RegPassEdt.Margins.Right = 30; RegPassEdt.Height = 45; RegPassEdt.Password = True; RegPassConfEdt = RegisterForm.AddNewProEdit(RegisterForm, 'RegPassConf', 'Sifre Tekrar'); RegPassConfEdt.Align = alTop; RegPassConfEdt.Margins.Top = 10; RegPassConfEdt.Margins.Left = 30; RegPassConfEdt.Margins.Right = 30; RegPassConfEdt.Height = 45; RegPassConfEdt.Password = True; RegShowBtn = RegisterForm.AddNewProButton(RegisterForm, 'RegShowBtn', 'Goster/Gizle'); RegShowBtn.Align = alTop; RegShowBtn.Margins.Top = 5; RegShowBtn.Margins.Right = 30; RegShowBtn.Height = 30; RegShowBtn.Width = 100; RegisterForm.AddNewEvent(RegShowBtn, tbeOnClick, 'ShowHidePassReg'); BtnDoReg = RegisterForm.AddNewProButton(RegisterForm, 'BtnDoReg', 'Hesap Olustur'); BtnDoReg.Align = alBottom; BtnDoReg.Margins.Bottom = 50; BtnDoReg.Margins.Left = 30; BtnDoReg.Margins.Right = 30; BtnDoReg.Height = 55; BtnDoReg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2ecc71'); BtnDoReg.SetclProSettings(BtnDoReg.clProSettings); RegisterForm.AddNewEvent(BtnDoReg, tbeOnClick, 'OnRegisterClick'); LogUserEdt = LoginForm.AddNewProEdit(LoginForm, 'LogUser', 'Kullanici Adi'); LogUserEdt.Align = alTop; LogUserEdt.Margins.Top = 50; LogUserEdt.Margins.Left = 30; LogUserEdt.Margins.Right = 30; LogUserEdt.Height = 45; LogPassEdt = LoginForm.AddNewProEdit(LoginForm, 'LogPass', 'Sifre'); LogPassEdt.Align = alTop; LogPassEdt.Margins.Top = 10; LogPassEdt.Margins.Left = 30; LogPassEdt.Margins.Right = 30; LogPassEdt.Height = 45; LogPassEdt.Password = True; LogShowBtn = LoginForm.AddNewProButton(LoginForm, 'LogShowBtn', 'Goster/Gizle'); LogShowBtn.Align = alTop; LogShowBtn.Margins.Top = 5; LogShowBtn.Margins.Right = 30; LogShowBtn.Height = 30; LogShowBtn.Width = 100; LoginForm.AddNewEvent(LogShowBtn, tbeOnClick, 'ShowHidePassLog'); RobotChk = LoginForm.AddNewCheckBox(LoginForm, 'RobotChk', 'Ben robot degilim'); RobotChk.Align = alTop; RobotChk.Margins.Left = 35; RobotChk.Margins.Top = 15; RobotChk.Height = 40; TermsChk = LoginForm.AddNewCheckBox(LoginForm, 'TermsChk', 'Anlasmayi kabul ediyorum'); TermsChk.Align = alTop; TermsChk.Margins.Left = 35; TermsChk.Height = 40; BtnDoLog = LoginForm.AddNewProButton(LoginForm, 'BtnDoLog', 'Giris'); BtnDoLog.Align = alBottom; BtnDoLog.Margins.Bottom = 50; BtnDoLog.Margins.Left = 30; BtnDoLog.Margins.Right = 30; BtnDoLog.Height = 55; BtnDoLog.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#3498db'); BtnDoLog.SetclProSettings(BtnDoLog.clProSettings); LoginForm.AddNewEvent(BtnDoLog, tbeOnClick, 'OnLoginClick'); // --- 4. ARAMA SAYFASI --- SearchForm.SetFormColor('#FFFFFF', '', clGNone); NovaTitle = SearchForm.AddNewProLabel(SearchForm, 'NovaTitle', 'NoVA'); NovaTitle.Align = alTop; NovaTitle.Margins.Top = 150; NovaTitle.Height = 100; NovaTitle.clProSettings.FontSize = 60; NovaTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#4285F4'); NovaTitle.clProSettings.FontHorzAlign = palCenter; NovaTitle.SetclProSettings(NovaTitle.clProSettings); SearchEdt = SearchForm.AddNewProEdit(SearchForm, 'SearchEdt', 'NoVA''da ara...'); SearchEdt.Align = alTop; SearchEdt.Margins.Left = 40; SearchEdt.Margins.Right = 40; SearchEdt.Height = 50; SearchEdt.clProSettings.RoundHeight = 25; SearchEdt.clProSettings.BorderColor = clAlphaColor.clHexToColor('#dfe1e5'); SearchEdt.SetclProSettings(SearchEdt.clProSettings); SearchBtn = SearchForm.AddNewProButton(SearchForm, 'SearchBtn', 'Arastir'); SearchBtn.Align = alTop; SearchBtn.Margins.Top = 20; SearchBtn.Width = 120; SearchBtn.Height = 45; SearchBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#f8f9fa'); SearchBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#3c4043'); SearchBtn.clProSettings.RoundHeight = 10; SearchBtn.SetclProSettings(SearchBtn.clProSettings); MainForm.Run; }
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">



Cevaplar:
Mesajı Yazan: Emr.Erkmn
Mesaj Tarihi: 07 Nisan 2026 Saat 09:16
Merhaba Hatice,
Bu hatanın alınmasının sebebi 
Her butona tıklandığında birden fazla form kullanılmasından kaynaklı. Form hafızadan silinmediği için bu hata alınıyor. 
Çözüm için tek bir form üzerinde farklı ekranlar için panel açabilirsin.
Paneller ekranlar arası geçişte görünürlüğünü açıp kapatabilirsin 

var
  MainForm : TclForm;
  
  PnlAnaMenu, PnlKayit, PnlGiris, PnlArama : TclProPanel;
  
  RegUserEdt, RegPassEdt, RegPassConfEdt : TclProEdit;
  RegShowBtn, BtnDoReg, BtnReg, BtnLog, BtnDoLog : TclProButton;
  LogUserEdt, LogPassEdt : TclProEdit;
  LogShowBtn : TclProButton;
  RobotChk, TermsChk : TclCheckBox;
  SearchEdt : TclProEdit;
  SearchBtn : TclProButton;
  NovaTitle, WelcomeLbl : TclProLabel;
  SavedUser, SavedPass : String;

void ButunEkranlariKapat;
{
  PnlAnaMenu.Visible = False;
  PnlKayit.Visible = False;
  PnlGiris.Visible = False;
  PnlArama.Visible = False;
}

void GoToRegister; 
  ButunEkranlariKapat;
  PnlKayit.Visible = True;
}

void GoToLogin; 
  ButunEkranlariKapat;
  PnlGiris.Visible = True;
}

void GoToAnaMenu; 
  ButunEkranlariKapat;
  PnlAnaMenu.Visible = True;
}

void ShowHidePassReg;
{
  if (RegPassEdt.Password == True)
  {
    RegPassEdt.Password = False;
    RegPassConfEdt.Password = False;
  }
  else
  {
    RegPassEdt.Password = True;
    RegPassConfEdt.Password = True;
  }
}

void ShowHidePassLog;
{
  if (LogPassEdt.Password == True)
    LogPassEdt.Password = False;
  else
    LogPassEdt.Password = True;
}

void OnRegisterClick;
{
  if (Length(RegUserEdt.Text) < 8)
  {
    ShowMessage('Kullanici adi en az 8 karakter olmali!');
  }
  else if (RegPassEdt.Text <> RegPassConfEdt.Text)
  {
    ShowMessage('Sifreler uyusmuyor!');
  }
  else if (Length(RegPassEdt.Text) < 8)
  {
    ShowMessage('Sifre en az 8 karakter olmali!');
  }
  else
  {
    SavedUser = RegUserEdt.Text;
    SavedPass = RegPassEdt.Text;
    ShowMessage('Kayit Basarili! Giris yapabilirsiniz.');
    GoToLogin; 
  }
}

void OnLoginClick;
{
  if ((TermsChk.IsChecked == False) || (RobotChk.IsChecked == False))
  {
    ShowMessage('Lutfen kutucuklari onaylayin!');
    Exit;
  }
  
  if ((LogUserEdt.Text == SavedUser) && (LogPassEdt.Text == SavedPass))
  {
    ButunEkranlariKapat;
    PnlArama.Visible = True; 
  }
  else
  {
    ShowMessage('Hatali kullanici adi veya sifre!');
  }
}

{
  MainForm = TclForm.Create(Self);
  MainForm.SetFormColor('#f0f2f5', '', clGNone);

  PnlAnaMenu = MainForm.AddNewProPanel(MainForm, 'PnlAnaMenu');
  PnlAnaMenu.Align = alClient;
  
  WelcomeLbl = MainForm.AddNewProLabel(PnlAnaMenu, 'WelcomeLbl', 'NoVA');
  WelcomeLbl.Align = alTop;
  WelcomeLbl.Margins.Top = 80;
  WelcomeLbl.Height = 60;
  WelcomeLbl.clProSettings.FontSize = 50;
  WelcomeLbl.clProSettings.FontHorzAlign = palCenter;
  WelcomeLbl.clProSettings.FontColor = clAlphaColor.clHexToColor('#4285F4');
  WelcomeLbl.SetclProSettings(WelcomeLbl.clProSettings);
  
  BtnReg = MainForm.AddNewProButton(PnlAnaMenu, 'BtnReg', 'Kayit Ol');
  BtnReg.Align = alTop;
  BtnReg.Margins.Top = 100;
  BtnReg.Margins.Left = 50;
  BtnReg.Margins.Right = 50;
  BtnReg.Height = 50;
  MainForm.AddNewEvent(BtnReg, tbeOnClick, 'GoToRegister');

  BtnLog = MainForm.AddNewProButton(PnlAnaMenu, 'BtnLog', 'Giris Yap');
  BtnLog.Align = alTop;
  BtnLog.Margins.Top = 20;
  BtnLog.Margins.Left = 50;
  BtnLog.Margins.Right = 50;
  BtnLog.Height = 50;
  MainForm.AddNewEvent(BtnLog, tbeOnClick, 'GoToLogin');

  PnlKayit = MainForm.AddNewProPanel(MainForm, 'PnlKayit');
  PnlKayit.Align = alClient;
  PnlKayit.Visible = False; // Başlangıçta gizli

  RegUserEdt = MainForm.AddNewProEdit(PnlKayit, 'RegUser', 'Yeni Kullanici Adi');
  RegUserEdt.Align = alTop;
  RegUserEdt.Margins.Top = 50;
  RegUserEdt.Margins.Left = 30;
  RegUserEdt.Margins.Right = 30;
  RegUserEdt.Height = 45;
  
  RegPassEdt = MainForm.AddNewProEdit(PnlKayit, 'RegPass', 'Sifre');
  RegPassEdt.Align = alTop;
  RegPassEdt.Margins.Top = 10;
  RegPassEdt.Margins.Left = 30;
  RegPassEdt.Margins.Right = 30;
  RegPassEdt.Height = 45;
  RegPassEdt.Password = True;
  
  RegPassConfEdt = MainForm.AddNewProEdit(PnlKayit, 'RegPassConf', 'Sifre Tekrar');
  RegPassConfEdt.Align = alTop;
  RegPassConfEdt.Margins.Top = 10;
  RegPassConfEdt.Margins.Left = 30;
  RegPassConfEdt.Margins.Right = 30;
  RegPassConfEdt.Height = 45;
  RegPassConfEdt.Password = True;

  RegShowBtn = MainForm.AddNewProButton(PnlKayit, 'RegShowBtn', 'Goster/Gizle');
  RegShowBtn.Align = alTop;
  RegShowBtn.Margins.Top = 5;
  RegShowBtn.Margins.Right = 30;
  RegShowBtn.Height = 30;
  RegShowBtn.Width = 100;
  MainForm.AddNewEvent(RegShowBtn, tbeOnClick, 'ShowHidePassReg');

  BtnDoReg = MainForm.AddNewProButton(PnlKayit, 'BtnDoReg', 'Hesap Olustur');
  BtnDoReg.Align = alBottom;
  BtnDoReg.Margins.Bottom = 50;
  BtnDoReg.Margins.Left = 30;
  BtnDoReg.Margins.Right = 30;
  BtnDoReg.Height = 55;
  BtnDoReg.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#2ecc71');
  BtnDoReg.SetclProSettings(BtnDoReg.clProSettings);
  MainForm.AddNewEvent(BtnDoReg, tbeOnClick, 'OnRegisterClick');

  PnlGiris = MainForm.AddNewProPanel(MainForm, 'PnlGiris');
  PnlGiris.Align = alClient;
  PnlGiris.Visible = False; // Başlangıçta gizli

  LogUserEdt = MainForm.AddNewProEdit(PnlGiris, 'LogUser', 'Kullanici Adi');
  LogUserEdt.Align = alTop;
  LogUserEdt.Margins.Top = 50;
  LogUserEdt.Margins.Left = 30;
  LogUserEdt.Margins.Right = 30;
  LogUserEdt.Height = 45;
  
  LogPassEdt = MainForm.AddNewProEdit(PnlGiris, 'LogPass', 'Sifre');
  LogPassEdt.Align = alTop;
  LogPassEdt.Margins.Top = 10;
  LogPassEdt.Margins.Left = 30;
  LogPassEdt.Margins.Right = 30;
  LogPassEdt.Height = 45;
  LogPassEdt.Password = True;

  LogShowBtn = MainForm.AddNewProButton(PnlGiris, 'LogShowBtn', 'Goster/Gizle');
  LogShowBtn.Align = alTop;
  LogShowBtn.Margins.Top = 5;
  LogShowBtn.Margins.Right = 30;
  LogShowBtn.Height = 30;
  LogShowBtn.Width = 100;
  MainForm.AddNewEvent(LogShowBtn, tbeOnClick, 'ShowHidePassLog');

  RobotChk = MainForm.AddNewCheckBox(PnlGiris, 'RobotChk', 'Ben robot degilim');
  RobotChk.Align = alTop;
  RobotChk.Margins.Left = 35;
  RobotChk.Margins.Top = 15;
  RobotChk.Height = 40;
  
  TermsChk = MainForm.AddNewCheckBox(PnlGiris, 'TermsChk', 'Anlasmayi kabul ediyorum');
  TermsChk.Align = alTop;
  TermsChk.Margins.Left = 35;
  TermsChk.Height = 40;

  BtnDoLog = MainForm.AddNewProButton(PnlGiris, 'BtnDoLog', 'Giris');
  BtnDoLog.Align = alBottom;
  BtnDoLog.Margins.Bottom = 50;
  BtnDoLog.Margins.Left = 30;
  BtnDoLog.Margins.Right = 30;
  BtnDoLog.Height = 55;
  BtnDoLog.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#3498db');
  BtnDoLog.SetclProSettings(BtnDoLog.clProSettings);
  MainForm.AddNewEvent(BtnDoLog, tbeOnClick, 'OnLoginClick');

  PnlArama = MainForm.AddNewProPanel(MainForm, 'PnlArama');
  PnlArama.Align = alClient;
  PnlArama.Visible = False; // Başlangıçta gizli
  PnlArama.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#FFFFFF');
  PnlArama.SetclProSettings(PnlArama.clProSettings);

  NovaTitle = MainForm.AddNewProLabel(PnlArama, 'NovaTitle', 'NoVA');
  NovaTitle.Align = alTop;
  NovaTitle.Margins.Top = 150;
  NovaTitle.Height = 100;
  NovaTitle.clProSettings.FontSize = 60;
  NovaTitle.clProSettings.FontColor = clAlphaColor.clHexToColor('#4285F4');
  NovaTitle.clProSettings.FontHorzAlign = palCenter;
  NovaTitle.SetclProSettings(NovaTitle.clProSettings);

  SearchEdt = MainForm.AddNewProEdit(PnlArama, 'SearchEdt', 'NoVA''da ara...');
  SearchEdt.Align = alTop;
  SearchEdt.Margins.Left = 40;
  SearchEdt.Margins.Right = 40;
  SearchEdt.Height = 50;
  SearchEdt.clProSettings.RoundHeight = 25;
  SearchEdt.clProSettings.BorderColor = clAlphaColor.clHexToColor('#dfe1e5');
  SearchEdt.SetclProSettings(SearchEdt.clProSettings);

  SearchBtn = MainForm.AddNewProButton(PnlArama, 'SearchBtn', 'Arastir');
  SearchBtn.Align = alTop;
  SearchBtn.Margins.Top = 20;
  SearchBtn.Width = 120;
  SearchBtn.Height = 45;
  SearchBtn.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#f8f9fa');
  SearchBtn.clProSettings.FontColor = clAlphaColor.clHexToColor('#3c4043');
  SearchBtn.clProSettings.RoundHeight = 10;
  SearchBtn.SetclProSettings(SearchBtn.clProSettings);

  MainForm.Run;
}




https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" rel="nofollow - https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 12.07 - https://www.webwizforums.com
Copyright ©2001-2024 Web Wiz Ltd. - https://www.webwiz.net