İlginç Bir Form Create Hatası

Yapmak istediğiniz işle ilgili doğru bileşeni bulmak için burayı kullanabilirsiniz. Sadece bulmak için, diğer sorular Programlama forumuna lütfen.
Forum kuralları
Bu forum sadece yapacağınız işle alakalı doğru bileşeni bulmak içindir. Şöyle bir şey yapmam lazım, hangi bileşeni kullanıyım diyorsanız, doğru yerdesiniz.
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

İlginç Bir Form Create Hatası

Mesaj gönderen gaus »

Kolay gelsin abilerim çok sık soru soruyorum farkındayım ama gerçekten cevabını bulamadığım bir soru soracağım,
Konu olarak nereye açacağımı da bilemediğim için buraya açıyorum;
Şimdi Unigui ile bir uygulama geliştirdim.
Online Satış Gibi birşey;
Bir formun Üzerindeyken ben çağırmadığım halde form açılıyor ve bana aşağıda ki hatayı veriyor;

"Form must be shown after is created"
ne yapabilirm nasıl çözebilirm...
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: İlginç Bir Form Create Hatası

Mesaj gönderen freeman35 »

mdi-child kullanıyorsun. hatanda yazmış zaten, sadece gavur doğal olarak kendi dilinde yazmış sadece tercüme et. "form" larını "manual create" et.
çok soru sorman sıkıntı asla değil, milyon tane de olsa sor, SADECE araştırıp, forumda ve internette vs bulamadığın GERÇEKTEN çabaladığın, denemeler yaptığın halde bulamadığında sor, aklına her geleni değil. İlk yeni başlıyan sen değilsin :) yıllardır ilk yeni başlıyanların soruları ve bunların cevapları forumumuzda mevcut sadece arama yapmak gereksiz mesaj kirliliği engeller, buda hepimize faydalı.
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen gaus »

sağolasın fakat şu sıkıntımı anlatamadım ben manuel olarak create etmiyorum ya da çağırmıyorum knedi açılıyor unigui olduğunu tekrar belirteyim
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: İlginç Bir Form Create Hatası

Mesaj gönderen freeman35 »

unigui dediğin şeyin ne olduğunu bilmiyorum, satır satır debug et, ve hata veren satırı bul. verdiğin hatanın tercümesi "formu oluşturduktan sonra göstermelisin" anahtar kelimen .show yada .showmodal
bir class yada component kullanmadan önce incelemek, nelerden oluşmuş çalışma mantığını bilmek vs önemli.
kolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen gaus »

Unigui bir component ve delphi ile internet uygualamarı yazabileceğimiz bir component ben show ya da show modal etmiyorum yani herhangi bir şekilde çağırmama rağmen içindeki bir procudurei çağırıyorum
O yüzden bunu nasıl engellerim diyorum
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen SimaWB »

FreeMan35'in dediği gibi hata mesajında yazıyor zaten. Sen formu oluşturmadan içindeki bir fonksiyon/procedure'u çağıramazsın. (class procedure'ler hariç)
There's no place like 127.0.0.1
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: İlginç Bir Form Create Hatası

Mesaj gönderen freeman35 »

herhangi bir şekilde çağırmama rağmen içindeki bir procudurei çağırıyorum
önce bir karar ver, eğer çağırdıysan(!) ben onu kullanmak olarak anlamış olayım, sonra yukarda yazdığım gibi debug et (break point koy [F7 ile adım adım kodları takip et])
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen gaus »

freeman35 hocam anlatamıyorum kendimi sadece o formun içindeki bir proceudü çağırıyorum örneğin

frm_cari.toplamlar;
gibi bu satıra gelince o formu show ediyor
yukarıda anlattığım hatayı vererek
toplamlar proceduremun içinde de herhangi bir görsel nesne yok
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen mrmarman »

(*) frm_cari.toplamlar isimli procedure içerğini buraya yazabilir misin.

(*) Eminiz ki bu formdan bir şeylere atıfta bulunuyor olmalı. En azından başka bir procedure/fonksiyon başvuruyordur o da bir başkasına derken ucundan kıyısından formdaki bir EDIT, LABEL, STATUSBAR vb. hatta toplamlar dediğine göre bir veritabanı açıyordur, onun DATASOURCE üzerinden bir DBGRID, QUERY vb. dokuyordur. :idea:
SimaWB yazdı:Sen formu oluşturmadan içindeki bir fonksiyon/procedure'u çağıramazsın. (class procedure'ler hariç)
Ek olarak PUBLIC alanında tanımlı Procedure veya Fonksiyonlara da ilgili Forma ait UNIT USES satırında olduğu taktirde ulaşılabilir. Ama o Procedure ve Fonksiyon da aynı UNIT içindeki nesnelere (FORM create edilmediği sürece) başvurmamak şartı ile. :idea:
Resim
Resim ....Resim
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen gaus »

Hocam kodun içeriği şu şekilde;

Kod: Tümünü seç

procedure Tfrm_siparis.toplambulmalar;
begin
  toplam:=0;
  kdv:=0;
  with dm_.vt_siparis do
  begin
    first;
    while not eof do
      begin
         toplam:=toplam+fieldbyname('TOPLAM').AsFloat;
         kdv:=kdv+fieldbyname('KDVTUTAR').AsFloat;
         NEXT;
      end;
  end;
end;
Hocam kod bloğum bu şekilde yani bir veri tabanındaki iki alanı toplattırıyorum,
ayrıca dediğiniz gibi public bloğunda tanımladım bu proceduru
bu arada hocam toplam ve kdv float değişkenlerimde publicde tanımlıdır,
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen mrmarman »

Procedure başına şunu yaz..

Kod: Tümünü seç

if (dm_ <> nil)  AND (dm_.vt_siparis <> nil) AND (dm_.vt_siparis.active )  then 
begin
  // kodların bütünü buraya
end;
Yani şöyle...

Kod: Tümünü seç

  if (dm_ <> nil)  AND (dm_.vt_siparis <> nil) AND (dm_.vt_siparis.active )  then
  begin
    showmessage('Geldik');
    toplam:=0;
    kdv:=0;
    with dm_.vt_siparis do
    begin
      first;
      while not eof do
        begin
           toplam:=toplam+fieldbyname('TOPLAM').AsFloat;
           kdv:=kdv+fieldbyname('KDVTUTAR').AsFloat;
           NEXT;
        end;
    end;
  end;
Böylece anlarız ki dm_ create edilmiş mi ? vt_siparis var mı ve de vt_siparis açık mı ?
Resim
Resim ....Resim
Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2380
Kayıt: 12 Haz 2003 04:05
Konum: merkez camii yanı

Re: İlginç Bir Form Create Hatası

Mesaj gönderen freeman35 »

@gaus ben senin ne dediğini anlıyorum, sen kendine istediğin cevabı verilmesini istiyorsun. Sana her mesajımda, kodlarını debug et yazdım, Muharrem bey detaylı şekilde yazmış ki, hala sen bizim dediğimizi anlamamışsın, bu sorun bizim için önemli değil, sen hala sorununu çözemedin.
create edilmemiş bir class a erişip içeriğindekileri kullanamazsın, kural bu. istisnayı Muharrem bey açıklamış, onu unut aklında karışmasın.
frm_cari.toplamlar;
bak bukadar yazıp hata basit gibi görüyorsun

Kod: Tümünü seç

    procedure Tfrm_siparis.toplambulmalar;-->frm_cari.toplamlar; yazdıkların farklı formlar, içerikleri farklıysa gene çözüm bulamazsın
    begin
      toplam:=0; --> classa mı ait? hangi class ? create edilmiş mi?
      kdv:=0;      --> classa mı ait? hangi class ? create edilmiş mi?
      with dm_.vt_siparis do --> dm_ create edil miş mi? vt_siparis create edil miş mi? edildiyse aktive edilmiş mi? değişken olarak tanımlandıysa private yada protected alan da mı?
      begin
        first;
        while not eof do
          begin
             toplam:=toplam+fieldbyname('TOPLAM').AsFloat; --> bu field tfieldlist a eklenmiş mi?
             kdv:=kdv+fieldbyname('KDVTUTAR').AsFloat;--> bu field tfieldlist a eklenmiş mi?
--> toplam ve kdv with bloğuna dahil edilmiş mi? edildiyse class haricinde aynı isimde başka global tanımlanmış olabilir mi? aynı isimde ama farklı tiplerde olabilir mi? biraz daha karıştırayaım, bu bir class ın property si ise? bu değişken mi? yoksa tetiklediği eventler var mı? get / set eventleri
             NEXT;
          end;
      end;
    end;
daha onlarca olasılık çıkar burdan, programcı, dünyadaki en kısa sürede en fazla olumsuz olasılık düşünebilen kişidir, bunun içinde bilgi gerekir. bilgi sahibi olmak içinde araştırmak, ve araştırılan konuları test edip, kitaptan okumanın ötesinde denemiş olmaktır.
koolay gele
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5

Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen gaus »

freeman hocam kodları debug ettim nerede de formun show olduğunu söyledim
'create edilmemiş bir class a erişip içeriğindekileri kullanamazsın' dediniz fakat bana bir hata vermesi gerekmez mi yani access violation gibi ama direk formu show ediyor;
sorularınza cevap vereyim;
frm_cari.toplamları örnek olarak sundum,
toplam ve kdv birer değişken frm_siparis formunun public bloğunda tanımlı
dm_ dediğim datamodulumun adıdır ve ilk create edilen de odur
herhangi bir değişken değildir ve aktiftir
Herhangi bir tfieldlist kullanmıyorum, oradaki fieldbyname() ler datamodule de bir virtual tabledir

farklı eventler değil with bloğuna dahil değil onlar değişken
dediğiniz gibi yapabiliyorum yani create edilmeden çağırdığım için bunuda söyledim o formdaki bir procedure çağırıyorum diye
fakat çağırmam da gerekli yazdığım bir kod için aksi halde istediğimi tam bir şekilde alamayacağım
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen mrmarman »

gaus yazdı: create edilmeden çağırdığım için bunuda söyledim
Sen söyledin de bu kadar saat sağır diyaloğu yapmışız.

İhtiyacın olduğu yerin üzerinde create edeceksin, cevap bu o zaman. Neden uğraştırıyorsun sen de.
Resim
Resim ....Resim
gaus
Üye
Mesajlar: 227
Kayıt: 14 May 2014 07:36
İletişim:

Re: İlginç Bir Form Create Hatası

Mesaj gönderen gaus »

Hocam niye kızıyorsunuz bana anlamadım :(
çağırmam gereken bir yer var bunu nasıl önleyebilirim diye soruyorum:(
Cevapla