unit içerisinde procedure parametre dword hata

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

unit içerisinde procedure parametre dword hata

Mesaj gönderen delphist »

S.a. Arkadaşlar. unit içerisinde interface bölümünde

procedure Regyaz(Baslik : String; Deger : dWord); şöyle bir procedure tanımladığım zaman undeclerated udentifier dword hatası alıyorum. Bunun sebebi nedir. Anlayamadım. Yardımlarınızı bekliyorum. tŞk.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

s.a.
dword u tanımadığını söylüyor.
dword un tanımlı olduğu uniti bulup interface kısmında uses e eklemen lazım.
dwordun tnaımlı olduğu uniti bulmak için fare ile dword un üstüne gel. F1 e bas. vcl olanı seç orda hangi unitte olduğu yazıtor. :wink:
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

s.a. aslangeri hocam zaten aynı unit içerisinde procedure başka bir yerde yok. Aynı unit içerisinde hata veriyor.

procedure Regyaz(Baslik : String; Deger : dWord);

aynen bu şekilde alttata procedure tanimli zaten hatayı bul dediğim zaman interface altında procedure tanımlamasını gösteriyor.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

Hocam

@aslangeri'nin bildirdiği dword sayı tipinin tanımlı olduğu unit'i uses satırına eklemen üzerine idi, yoksa kullandığın unit ile aynı iç içe olmasıyla ilgili değil.

- USES satırına Windows unitini eklersen buna ilişkin sorun kalmaz...
Resim
Resim ....Resim
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Kod: Tümünü seç

unit nortak;

interface
 procedure Regyaz(Baslik : String; Deger : dWord);
 function basregkayitvarmi:boolean;


implementation

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, SUISkinForm, ExtCtrls, Registry, StdCtrls, DB, ADODB, WinTypes, Shellapi;



procedure Regyaz(Baslik : String; Deger : dWord);
var
Reg    : TRegistry;
begin


end;
bu şekilde hocam ben dediğinizi anlayamadım kusura bakmayın. unit böle. bu unitide bir çok function ve procedure aynı yerde toplayım diyerekten bu uniti açtım.
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

aynı codeları form classı oluşturulmuş olan yani formun unitine yazıyorum hata vermiyor ama benim kullandığımda sadece unit var. Nedenini açıklayabilirmisiniz arkadaşlar. Ayrıca sadece unit içerisindeki dword tipini integer yapıyorum yine hata vermiyor ama dword olduğu zaman tek başına unit çerisinde interface de tanımlanmış procedure hata veriyor. :(
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

arkadaşım yazdığım mesajı tan anlayamadım sanırım adım adım yazıyorum.
sorun
dword u tanımadığını söylüyor.
çözümü
dword un tanımlı olduğu uniti bulup interface kısmında uses e eklemen lazım.
yapılışı
1.fare ile dword yazan yere tıkla.
procedure Regyaz(Baslik : String; Deger : dWord);
(burda değil delphi ekranında :D)
2.Klavyeden F1 tuşuna bas.
Yardım penceresi açılacak. Bulunan konular diye ufak bir pencerede
  • DWORD type (CLX Referance
    DWORD type VCL Referance
gelecek burdan VCL olanını seçip görüntüle düğmesine tıklıyoruz.
sonra bize dword ile ilgili yardım penceresi gelecek.
DWORD represents a four-byte integer.

Unit

Types

type DWORD = Longword;

Description

DWORD (double word) is used in Windows programming to represent a four-byte integer.
3.Bu pencerede dword tipinin hangi unitte tanımlandığını göreceğiz.
bu unit adını senin interface kısmındaki usese ekleyeceğiz.
unit nortak;

interface
procedure Regyaz(Baslik : String; Deger : dWord);
function basregkayitvarmi:boolean;
interface in altına usesi ekliyoruz

Kod: Tümünü seç

interface
 uses  unitin_adı;
 procedure Regyaz(Baslik : String; Deger : dWord);
4.programı derliyoruz....

unitin_adi yerine types yazıp tekrar derliyoruz.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
delphist
Üye
Mesajlar: 595
Kayıt: 05 Oca 2005 04:34

Mesaj gönderen delphist »

Aslangeri hocam dalgınlık implementation altında ben uses ekliyrum Windowsu bundan dolayı yapıyor kusura bakmayın ben ona dikkat etmemişim. Tşkler...biraz yordum sizi heralde kafa bir buçuk milyon olunca böle oluyor demekki :)
Cevapla