iyi bir baslik bulamadigimin farkindayim, fakat bazi yerlerde karsilastigim ve cevabini bulamadigim sorularim oluyor.
ben bunlarin hepsini bir baslik altinda toplayip burada zaman icerisinde sormak istiyorum.
cevaplayanada, cevaplamayanada tesekkür ediyorum.
-WM_USER mesajı windows tarafından herhangi bir işlev tanımı olmayan mesajın numarasıdır. Programcı olarak bir mesaj tanımı oluşturmak istenirse bu mesaj baz alınarak +1, +2 gibi eklemelerle yeni mesajlar eklenebilir.
-Bazı döngüleri sayısı ve bitişin sağlanacağı koşulun ne zaman sağlanacağı kestirilemez. Bu durumda sonsuz döngü kurup bitiş şartı döngü içinden kontrol edilerek (Break kodu ile) sağlanabilir. Bu while True do ile olacağı gibi Repeat Unil False; ile de olabilir.
-packed record biraz bellek tasarrufu yapmak için kullanılmaktadır. Record tanımı değişkenler arası 2'nin katları şeklinde yer ayırır ama packed record her alanın kendinin boyutu kadar tutar. Örnek..:
1.) WM_USER+1 bir baska unitte de tanimli ise, burada bir cakisma söz konusu olur mu? olursa eger, unitlerin hepsini dolasip acaba tanimlanmis baska bir WM_USER +1 varmi diye kontrol etmem mi gerekir?
2.) her zaman packed record mu kullanmam gerek yoksa normal record'u kullanmak zorunda oldugum durumlar olabilir mi? eger olabilir ise, bunu kisaca bir anlatabilir misin?
Hazir kod istemiyorum, yanlis anlama. sadece anahtar sözcükler.
Mesajlar genelde görsel bileşenler içindir. Nasıl ki, WM_KEYDOWN mesajı her bileşen için bağımsız olarak karışıklık olmadan çalışıyorsa bunda da öyle olacaktır.
Çok özel durum olmadıktan sonra record veya packed record kullanımları arasında fark yoktur. packed record bellekte az yer kaplar ama record kullanımı daha hızlıdır. Eğer bellekte çok büyük miktarda veriler tutulmayacaksa sadece record kullanılabilir. Harici kütüphanelerde (genelde windows API fonksiyonlarında) bulunan fonsiyonları kullanırken, parametre olarak gönderilen veya alınan bazı özel veri yapıları olabiliyor. Bu veri yapılarını doğru oluşturabilmek için bu iki yöntemden uygun olana göre tanım yapılması gerekmektedir.
Şaban Şahin AKMAN
_________________ Derin olan kuyu değil kısa olan iptir. - .