![]() |
| Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
tanımsız nesne hatası |
Yanıt Yaz
|
| Yazar | |
ErenTotan
Yeni Üye
Kayıt Tarihi: 2 Saat 13 Dakika Önce Konum: Konya Durum: Aktif Değil Puanlar: 2 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı ErenTotan
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Konu: tanımsız nesne hatasıGönderim Zamanı: 2 Saat 11 Dakika Önce Saat 16:11 |
|
var MyForm: TclForm; lblTitle: TclLabel; btnDailySchedule, btnStudentList: TclProButton; ScheduleForm: TclForm; clListViewAddItem:TclListView; procedure GoBack; begin ScheduleForm.Close; end; procedure GoToSchedule; var // 1. HATA: Buraya 'var' yazmayı unutmuştuk lblScheduleTitle: TclLabel; btnBack: TclProButton; myListView: TclListView; begin ScheduleForm := TclForm.Create(Self); // 2. HATA: Bu satırın sonundaki noktalı virgül (;) eksikti lblScheduleTitle := ScheduleForm.AddNewLabel(ScheduleForm,'lblScheduleTitle','📅 Etüt Programı'); lblScheduleTitle.Align := alTop; lblScheduleTitle.Margins.Top := 40; lblScheduleTitle.Height := 40; lblScheduleTitle.TextSettings.Font.Size := 24; lblScheduleTitle.TextSettings.Font.Style := [fsBold]; myListView:= ScheduleForm.AddNewListView(ScheduleForm,'myListView'); myListView.Align:=alClient ScheduleForm.clListViewAddItem(myListView,'clText','Etüt 1 : Matematik','14:00',' '); btnBack := ScheduleForm.AddNewProButton(ScheduleForm,'btnBack','⬅ Geri Dön'); btnBack.Align := alBottom; btnBack.Height := 60; btnBack.Margins.Bottom := 30; btnBack.Margins.Left := 30; btnBack.Margins.Right := 30; btnBack.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#EF4444'); btnBack.clProSettings.RoundHeight := 15; btnBack.clProSettings.RoundWidth := 15; btnBack.clProSettings.FontColor := clAlphaColor.clHexToColor('#FFFFFF'); btnBack.clProSettings.FontSize := 16; btnBack.SetclProSettings(btnBack.clProSettings); ScheduleForm.AddNewEvent(btnBack, tbeOnClick, 'GoBack'); ScheduleForm.Run; end; begin MyForm := TclForm.Create(Self); // Başlık Alanı lblTitle := MyForm.AddNewLabel(MyForm, 'lblTitle', 'Edu-Assistant Pro'); lblTitle.StyledSettings := ssFamily; lblTitle.TextSettings.Font.Size := 28; lblTitle.TextSettings.Font.Style := [fsBold]; lblTitle.Align := alTop; lblTitle.Margins.Top := 30; lblTitle.Height := 50; // Bugünün Programı Pro Butonu btnDailySchedule := MyForm.AddNewProButton(MyForm, 'btnDailySchedule', '📅 Bugünkü Etütler'); btnDailySchedule.Align := alTop; btnDailySchedule.Height := 70; btnDailySchedule.Margins.Top := 40; btnDailySchedule.Margins.Left := 30; btnDailySchedule.Margins.Right := 30; btnDailySchedule.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#0EA5E9'); btnDailySchedule.clProSettings.RoundHeight := 15; btnDailySchedule.clProSettings.RoundWidth := 15; btnDailySchedule.clProSettings.FontColor := clAlphaColor.clHexToColor('#FFFFFF'); btnDailySchedule.clProSettings.FontSize := 18; btnDailySchedule.SetclProSettings(btnDailySchedule.clProSettings); // 3. EKSİK: Tetiği (Event) buraya ekledik ki butona basınca sayfa açılsın MyForm.AddNewEvent(btnDailySchedule, tbeOnClick, 'GoToSchedule'); // Öğrenci Listesi Pro Butonu btnStudentList := MyForm.AddNewProButton(MyForm, 'btnStudentList', '👥 Öğrenci Portföyü'); btnStudentList.Align := alTop; btnStudentList.Height := 70; btnStudentList.Margins.Top := 20; btnStudentList.Margins.Left := 30; btnStudentList.Margins.Right := 30; btnStudentList.clProSettings.BackgroundColor := clAlphaColor.clHexToColor('#1E293B'); btnStudentList.clProSettings.RoundHeight := 15; btnStudentList.clProSettings.RoundWidth := 15; btnStudentList.clProSettings.FontColor := clAlphaColor.clHexToColor('#FFFFFF'); btnStudentList.clProSettings.FontSize := 18; btnStudentList.SetclProSettings(btnStudentList.clProSettings); MyForm.Run; end; https://static.cloudflareinsights.com/beacon.min.js/v833ccba57c9e4d2798f2e76cebdd09a11778172276447" integrity="sha512-57MDmcccJXYtNnH+ZiBwzC4jb2rvgVCEokYN+L/nLlmO8rfYT/gIpW2A569iJ/3b+0UEasghjuZH/ma3wIs/EQ==" 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">
|
|
![]() |
|
kayra12
Deneyimli Üye
Kayıt Tarihi: 23 Aralık 2024 Durum: Aktif Değil Puanlar: 51 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 1 saat 34 Dakika Önce Saat 16:48 |
|
var // --- Form --- MyForm: TclForm; // --- Sayfa Düzenleri (Layouts) --- LayoutMainPage: TclLayout; LayoutSchedulePage: TclLayout; // --- Etiketler (Metinler) --- lblTitle: TclLabel; lblScheduleTitle: TclLabel; // --- Butonlar --- btnDailySchedule: TclProButton; btnStudentList: TclProButton; btnBack: TclProButton; // --- Listeler --- myListView: TclListView; void GoBack; { // Geri dönüldüğünde Etüt sayfasını gizle, Ana sayfayı göster LayoutSchedulePage.Visible = False; LayoutMainPage.Visible = True; } void GoToSchedule; { // Etütlere tıklandığında Ana sayfayı gizle, Etüt sayfasını göster LayoutMainPage.Visible = False; LayoutSchedulePage.Visible = True; } { MyForm = TclForm.Create(Self); // ========================================== // 1. ANA SAYFA DÜZENİ (LayoutMainPage) // ========================================== LayoutMainPage = MyForm.AddNewLayout(MyForm, 'LayoutMainPage'); LayoutMainPage.Align = alClient; LayoutMainPage.Visible = True; // İlk başta bu sayfa görünecek // Başlık Alanı lblTitle = MyForm.AddNewLabel(LayoutMainPage, 'lblTitle', 'Edu-Assistant Pro'); lblTitle.StyledSettings = ssFamily; lblTitle.TextSettings.Font.Size = 28; lblTitle.TextSettings.Font.Style = [fsBold]; lblTitle.Align = alTop; lblTitle.Margins.Top = 30; lblTitle.Height = 50; // Bugünün Programı Pro Butonu btnDailySchedule = MyForm.AddNewProButton(LayoutMainPage, 'btnDailySchedule', '📅 Bugünkü Etütler'); btnDailySchedule.Align = alTop; btnDailySchedule.Height = 70; btnDailySchedule.Margins.Top = 40; btnDailySchedule.Margins.Left = 30; btnDailySchedule.Margins.Right = 30; btnDailySchedule.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#0EA5E9'); btnDailySchedule.clProSettings.RoundHeight = 15; btnDailySchedule.clProSettings.RoundWidth = 15; btnDailySchedule.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); btnDailySchedule.clProSettings.FontSize = 18; btnDailySchedule.SetclProSettings(btnDailySchedule.clProSettings); MyForm.AddNewEvent(btnDailySchedule, tbeOnClick, 'GoToSchedule'); // Öğrenci Listesi Pro Butonu btnStudentList = MyForm.AddNewProButton(LayoutMainPage, 'btnStudentList', '👥 Öğrenci Portföyü'); btnStudentList.Align = alTop; btnStudentList.Height = 70; btnStudentList.Margins.Top = 20; btnStudentList.Margins.Left = 30; btnStudentList.Margins.Right = 30; btnStudentList.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#1E293B'); btnStudentList.clProSettings.RoundHeight = 15; btnStudentList.clProSettings.RoundWidth = 15; btnStudentList.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); btnStudentList.clProSettings.FontSize = 18; btnStudentList.SetclProSettings(btnStudentList.clProSettings); // ========================================== // 2. ETÜT PROGRAMI SAYFA DÜZENİ (LayoutSchedulePage) // ========================================== LayoutSchedulePage = MyForm.AddNewLayout(MyForm, 'LayoutSchedulePage'); LayoutSchedulePage.Align = alClient; LayoutSchedulePage.Visible = False; // İlk başta gizli olacak lblScheduleTitle = MyForm.AddNewLabel(LayoutSchedulePage, 'lblScheduleTitle', '📅 Etüt Programı'); lblScheduleTitle.Align = alTop; lblScheduleTitle.Margins.Top = 40; lblScheduleTitle.Height = 40; lblScheduleTitle.TextSettings.Font.Size = 24; lblScheduleTitle.TextSettings.Font.Style = [fsBold]; myListView = MyForm.AddNewListView(LayoutSchedulePage, 'myListView'); myListView.Align = alClient; // Listenin boş kalmaması için JSON veri yüklemesi myListView.clLoadListViewDataFromDataset( Clomosy.ClDataSetFromJSON('[{"MAIN_TEXT":"Etüt 1 : Matematik", "SUB_TEXT":"14:00"}]')); // Geri Dön Butonu btnBack = MyForm.AddNewProButton(LayoutSchedulePage, 'btnBack', '⬅ Geri Dön'); btnBack.Align = alBottom; btnBack.Height = 60; btnBack.Margins.Bottom = 30; btnBack.Margins.Left = 30; btnBack.Margins.Right = 30; btnBack.clProSettings.BackgroundColor = clAlphaColor.clHexToColor('#EF4444'); btnBack.clProSettings.RoundHeight = 15; btnBack.clProSettings.RoundWidth = 15; btnBack.clProSettings.FontColor = clAlphaColor.clHexToColor('#FFFFFF'); btnBack.clProSettings.FontSize = 16; btnBack.SetclProSettings(btnBack.clProSettings); MyForm.AddNewEvent(btnBack, tbeOnClick, 'GoBack'); MyForm.Run; } Olurdu ama çok daha zahmetli olurdu. Bu satırı kullanmamızın tek bir ana sebebi var: Eski komut olan Gerçek bir veritabanı bağlamak şu aşamada uzun süreceği için, biz de veriyi JSON formatında yazıp sahte bir mini-veritabanı tablosuna çevirdik ( |
|
![]() |
|
Yanıt Yaz
|
|
| Tweet |
| Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |