Merhabalar,
Record Tipine helper yazamaz mıyım ?
[DCC Error] Policy.Helper.pas(9): E2021 Class type required
unit Policy.Helper;
interface
uses
TeminatIndirim;
type
TPolicyHelper = class helper for Teminat
public
function ToEH : String;
function ToEvetHayır : String;
function ToRakam_1_0 : String;
end;
implementation
{ TPolicyHelper }
function TPolicyHelper.ToEH: String;
begin
///
end;
function TPolicyHelper.ToEvetHayır: String;
begin
///
end;
function TPolicyHelper.ToRakam_1_0: String;
begin
///
end;
end.
Teminat, Record tipindeyse Record Helper kullanmalısın. Sen Class Helper kullanmışsın.
class helper yazan yer record helper olmalı.
(31-01-2018, Saat: 10:10)SimaWB Adlı Kullanıcıdan Alıntı: [ -> ]Teminat, Record tipindeyse Record Helper kullanmalısın. Sen Class Helper kullanmışsın.
class helper yazan yer record helper olmalı.
OMG
type
Teminat = Record
public
SEYAHAT_BİTİS_TARİH,SEYAHAT_BASLAMA_TARİH,SEYAHAT_ULKE,ARAC_YAKIT_TIPI,MARKA_KASKO:String;
*
*
*
Fakat : Record, object or class type required diyor
Bir yazım hatası olmadığına emin misin güzel kardeşim ? İstersen şu senin record'u ve helper'ını burada bir paylaş. Eğer record helper for ... biçiminde yazdı isen; bu tarz bir hata almaman lazım.
unit Policy.Helper;
interface
uses
TeminatIndirim,
Soap.XSBuiltIns;
type
TPolicyHelper = record helper for Teminat
public
function ToEH : String;
function ToEvetHayır : String;
function ToRakam_1_0 : String;
end;
TStringHelper = record helper for String
private
function GetChars(Index: Integer): Char; inline;
public
end;
implementation
uses
System.SysUtils;
{ TPolicyHelper }
function TPolicyHelper.ToEH: String;
begin
Result := Self;
end;
function TPolicyHelper.ToEvetHayır: String;
begin
Result := Self;
end;
function TPolicyHelper.ToRakam_1_0: String;
begin
Result := Self;
end;
{ TIntHelper }
function TIntHelper.ToString: string;
begin
Result := IntToStr (self);
end;
end.
////////////---------------TeminatIndirim--------------- ///////////
type
Teminat = Record
public
MESLEK,FERDI_KAZA,IMM:String;
AKSESUAR_BDL_NGS :Currency;
// Burası çok kalabalık : )
*
*
*
end;
Self komutu terminali geri döndürür string bir değer döndürmez self."string " bir ifade olması lazım sanırım. Self.MESLEK gibi mesela.
Self, Teminat record'unun kendisidir.
(31-01-2018, Saat: 11:07)Tuğrul HELVACI Adlı Kullanıcıdan Alıntı: [ -> ]Self, Teminat record'unun kendisidir.
Bu bir sorun ama benim sorunum o değil ki, düzelttim örneğin hepsini Result := '1'; yaptım , ama hata aynı.