Home> Delphi

Delphi Archive

Delphi.NET’in Yeni Oyuncağı “Class Helper”

01 Ağustos 2007 Kategori :Delphi 6

.Net ortamı için sadece Delphi’de bulunan bir nesne özelliği ile tanışalım bugün, Class Helper(Sınıf Hizmetçisi, Yardımcısı, ya da ne isim verirseniz.). C# kullanıcıları, 2.0 sürümü ile benzer bir tip olan "Partial Type" ile tanıştılar. Ama partial tipler hali hazırda derlenmiş kodlar üzerinde işlem yapamazlar. Ama class helper’lar yapabilirler! Yani derlenmiş bir assembly’ de bulunan bir sınıf üzerine de class helper yazılabilir.

Nedir bu Class Helper? Yenilir mi, içilir mi, grameri nasıldır, ne işimize yarayacak? Bütün bu soruların cevaplarını bu kısa makalemizde vermeye çalışacağız.

» Continue Reading

2.481 defa okunmuş , , , ,

Başka bir bilgisayarda debug yapın!

30 Temmuz 2007 Kategori :Delphi 0

Uzun uğraşlar vererek hazırladığınız projeniz üzerinde bir çok testler yaptınız, hataları bulup giderdiniz. Ardından programı son kullanıcıya verdiniz. Kullanıcı belli bir süre sonra size telefon açtı ve programın hata verdiğini söyledi. Siz de hatayı nasıl çıkarttığını öğrenip, aynı şeyi kendi bilgisayarınızda denediniz ama ne yazık ki sizin bilgisayarınızda böyle bir hata oluşmadı ve siz kafayı yeme hadlerine yaklaştınız.

Bu senaryo hemen hemen çoğu programıcının başına gelebilecek hadiselerden. Ve çok sinir bozucu bir durum. O an herkesin içinden, son kullanıcının bilgisayarına Delphi, C++ Builder, ya da VS’yi kurup programı orada test etmek geçer. Ama bu her zaman için müsait olmayan bir durum. Üstelik kaybolan zaman da cabası.

Bu gibi sorunların üstesinden gelebilmek için Remote Debugging denen bir sistem geliştirilmiştir. Kullanıcının bilgisayarına Remote Debugger programı kurulur ve siz kendi bilgisayarınızdan uzaktaki bilgisayara bağlanarak debug işleminizi yaparsınız. Ve hatanın ne olduğunu anlamaya çalışırsınız.

Bir çok geliştirme ortamı remote debug işlemine izin vermektedir. Bizim bu yazıda bahsedeceğimiz işlem, Delphi ve C++ Builder için olacak. Bir kaç adımda bu işlemin nasıl yapıldığını öğrenin ve yukarıdaki senaryonun aktörlerinden biri olmayın.

» Continue Reading

2.914 defa okunmuş , ,

Delphi programcıları, Generics ile tanışıyor…

25 Temmuz 2007 Kategori :Delphi 3

Şu an betası test edilen Highlander sürümünde göreceğimiz generic tipler, aslında c++ programcılarına pek de yabancı olmayan bir terim. .Net 2.0 ile birlikte, managed kodlar generics ile tanıştı. Haliyle Delphi de, highlander sürümü ile birlikte .net 2.0′ı ve generics’i destekliyor. Ama IDE ve kod editörü tam manasıyla generics’e destek vermeyecek. Ama derleyici olarak generics’in tüm özelliklerinden faydalanabileceğiz. Özellikle generics için refactoring bulunmayacak. Ayrıca help insight ‘da da generic tipler "<>" şeklinde görünecek. Ayrıca editor, generic tipleri generic tip olarak nitelememekte. Generic tipi ayrı bir sınıf olarak almakta. Her neyse bu gibi sorunlar bir update ile ya da 2008′in ilk çeyreğinde çıkması beklenen Tiburon sürümünde halledilecektir. Önemli olan generic tipleri derleyici bazında tam olarak kullanabileceğimiz.

Bütün bunları geçelim ve generic tiplere yabancı olanlar için bir kaç küçük örnek verelim.

» Continue Reading

3.348 defa okunmuş , , , , , ,

Fonksiyon Çağırım Mekanizmaları

23 Haziran 2007 Kategori :Assembler| Delphi 8

Gerek C++ programlamada gerekse Delphi ve diğer programlama dillerinde fonksiyonların stdcall, cdecl, pascal gibi terimler ile tanımlandığını görmüşüzdür. Eğer biraz da merakımız olmuşsa bunların az çok neyi ifade ettiklerini bir yerlerden okumuşuzdur. DLL yazanlar ve başka bir dilde yazılmış bir DLL’i kullanmaya çalışanlar mutlaka bu terimlerden en az biri ile aşina olmuştur. Çünkü DLL yazıp bunu dağıtacağınızda bu terimleri biliyor olmalısınız. Bu makalede bu terimlerin derinlerine ineceğiz ve Delphi inline assembler ile kullanımına örnek vermeye çalışacağız.

» Continue Reading

4.364 defa okunmuş , , , , , , , ,

Delphi ve C++ Builder ile Assembler

20 Haziran 2007 Kategori :Assembler| Delphi 11

Bu makalede, başlangıç düzeyi için, Borland Inline Assembler(Basm) kullanımını göstermeye çalışacağız. Basm kullanarak Delphi’de ve C++ builderda assembler kullanarak, kodlarınızı daha da hızlandırabilirsiniz. Bildiğinizi gibi Delphi ve C++ Builder’a monte edilen FastMM projesi, temelde çokca kullanılan fonksiyonların, optimize edilmiş assembler hallerini barındırmaktadır. Böylelikle hem derleme performansı artmakta, hem de runtime’da çalışan kod daha verimli ve hızlı çalışmaktadır. Fakat derleyici her ne kadar kodu optimize etse de ileride göreceğiniz gibi bazı yerlerde yapay zeka yetersiz kalmaktadır. Bu yüzden bu kısımlara müdahale edip kodların boyutunu azaltıp, performansını artırmaya çalışacağız.

Ayrıca derleyicinin kod üretimi(code generation) safhasının nasıl işlediği hakkında da fikir sahibi olacaksınız.

Örneklerimizi Delphi üzerinde yapacağız. Az da olsa assembler bildiğinizi kabul ediyorum.

» Continue Reading

4.647 defa okunmuş , , ,

Bileşen Yazım Klavuzu – 3

06 Mayıs 2007 Kategori :Delphi 12

Bileşen yazımı hakkındaki bu son makalemizde ileri düzey konulara el atacağız. Bu makalede belirli tipler için, özellikle kendi özellik tiplerimiz için nasıl editörler tayin edebileceğimizi göreceğiz. Ayrıca alt özellikler ile iki bileşeni birleştirme işlemine de göz atacağız. Hazırsanız buyrun.

» Continue Reading

4.990 defa okunmuş , , , , , , , , ,

Bileşen Yazım Klavuzu – 2

30 Nisan 2007 Kategori :Delphi 2

Önceki bölümde bileşen yazımına giriş yaptık. Ayrıca nesneye dayalı programlamadan işimize yarayan kısımlarını ele aldık. Eğer ilk bölümü okumadıysanız buradan ilk bölüme ulaşabilirsiniz. İlk bölümdeki temel bilgileri aldıysanız, daha ileri konulara geçebiliriz.

Bu ikinci bölümde, daha çok, özelliklerin kalıcılığının sağlanması üzerine durmayı düşünüyorum. Hazırsanız buyrun.

» Continue Reading

3.190 defa okunmuş , , , , , , ,

Bileşen Yazım Klavuzu – 1

28 Nisan 2007 Kategori :Delphi 9

Delphi, gerçekten güçlü özelliklerle donatılmış bir geliştirme ortamıdır. Bir çok sınıflar ve yapılar ile IDE özelleştirilebilir. Kendi yazacağınız ya da dışarıdan kullanacağınız bileşenler ile programlama alanınızı özelleştirebilirsiniz. Hatta daha da ileri gidip Expert dediğimiz IDE eklentileri yazarak, IDE’ye olmayan yeni özellikler ekleyebilirsiniz. Bu makale serisinde VCL ve VCL.NET için bileşen yazımını göstereceğiz. Tabi ki, bileşen yazımına değinirken Delphi’nin sahip olduğu belli başlı Nesne Programlama tekniklerine de değinmeden geçmeyeceğiz. Tercih ettiğimiz dil Object Pascal’dır. Ama C++’a da kodlar çevrilebilir.

Ve tavsiyem başka bir bileşen kullanacağınıza kendi bileşeninizi kendiniz yazın! Nasıl mı? Cevabı işte bu makalede…

» Continue Reading

4.183 defa okunmuş , , , , , , , , , , , , , , , , , ,

Delphi.NET ve Firebird Bağlantısı

21 Nisan 2007 Kategori :Delphi| Veritabanı 1

Bildiğiniz gibi Delphi artık, .Net ortamında hem VCL bileşenlerini hem de normal .Net bileşenlerini kullanmamızı destekliyor. Bu kısa makalemizde Delphi ile, WinForms’u kullanarak Firebird veritabanına nasıl erişebileceğimizi göreceğiz.

» Continue Reading

3.794 defa okunmuş , , , , ,

Indy ile Network Programlama 3 – Server

12 Nisan 2007 Kategori :Delphi| Indy Kütüphanesi| Network Programlama 9

Bundan önce, gerek client tarafında gerekse server tarafında okuma ve yazma işlemlerinin nasıl yapıldığını gördük. Ayrıca gönderilecek verinin küçük ve fazla miktarda olması durumunda bağlantıyı yavaşlatmamak için yapılması gereken işleri de görmüş olduk. Bu makalemizde Indy ile bir TCP Server’ı nasıl tanımlayabileceğimize bakacağız. Server oluşturma modellerini incelemeye çalışacağımız gibi bir server oluştururken takip edilen yolları da görmeye çalışacağız. Ve bir örnek uygulama ile makalemizi bitireceğiz.

» Continue Reading

5.476 defa okunmuş , , , , , , , , , , , ,

Switch to our mobile site