@sadettinpolat
Delphi 2007 kullanıyorum. 2010 a da unicode de sorun yaşadığım için şimdilik geçemedim.
Bahsettiğin örneği inceledim
turboRecord := TTurboRecord.Create(2006) ; -> buradaki nesneyi oluşturma işimi bozuyor
Yazmış olduğum yazılımda bütün liste ekranları aşağıdaki şekilde çalışıyor
Kod: Tümünü seç
var
foo: TBL_STOK_KART;
begin
TFrmStok_Liste.FormGoster(ftMdi, fmIzleme, foo);
formgösteri çağırıyorum sunucun doğru yada yanlış olmasına göre stok seçilip seçilmediğini belirliyorum
doğru ise seçilen kaydı "foo" da elde ediyorum. herşeyim normal lakin bir müşterimin isteği ortaya çıktı
mesela stok için düşünelim ben edit e "stk" yazayım listeye tıklayınca stk ile başlayanlar gelsin dedi fatura ile teklif bölümünde şimdilik istedğini yaparız diğerlerini boş vaktimizde çeviririz dedik olur dediler.
başaladık değişikliği yapmaya hani işi kısa yoldan çözmekya işimiz
Kod: Tümünü seç
var
foo: TBL_STOK_KART;
begin
foo.stokkodu := edit1.text ; -> dedik
TFrmStok_Liste.FormGoster(ftMdi, fmIzleme, foo);
//
class function TFrmStok_Liste.FormGoster(FormType: TFormType; FormMod: TFormMod;
var Stok_Kart: TBL_STOK_KART): Boolean;
...
...
...
if Stok_kart.kodu = '"" then
mstablo.open
else
begin
mstablo.params[0].asstring := stok_kart.kodu;
mstablo.open
end;
.....
buraya kadar da süper eğer kod belirtildi ise her formda küçücük bir değişiklik işi çözdü
teklif/faturada sorun yok çünkü edit en kötü ihtimalle boş geliyor o zaman da tüm liste açılıyor
lakin diğer bölümlerden form çağrılınca çuvalladık çünkü "foo.stokkodu" na bir değer atanmadı saolsun delphide boş yada null yapmadı kendine göre garip karekterler verdi (belki belirli bir sebep e göre veriyor) bu seferde sql amca kızıyor garip karekterleri görünce bu ne diyor tüm derdim bu
Belki baştaki liste ekranlarını çağrış yönetmim yanlış fakat böyle başladık birkere programda büyüdü müşterinin isteğide mantıklı geldi aklımıza öyle bir güzellik gelmemişti. olmaz ise nerelerde çağırdıysak paşa paşa birer fonksiyonla record ları temizliycez
unutmadan kodlamaları çok dikkate almayın sorunumu anlatmak için yazdım.