[Delphi] GetPropInfo geeft me nil

Pagina: 1
Acties:

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Ik heb de volgende klasse:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
type
  TTest = class(TObject)
  private
    FGetal: Integer;
  published
    property Getal: Integer read FGetal;
  public
    constructor Create;
  end;

{ TTest }

constructor TTest.Create;
begin
  inherited;
  FGetal := 10;
end;

Vervolgens doe ik:
code:
1
2
3
4
5
6
7
8
var
  Test: TTest;
  PropInfo: PPropInfo;
begin
  Test := TTest.Create;
  PropInfo := GetPropInfo(Test, 'Getal');
  if Assigned(PropInfo) then
    ShowMessage('Werkt');

Maar krijg de ShowMessage nooit te zien. Wat doe ik verkeerd?

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Just_a_Gamer
  • Registratie: November 2001
  • Laatst online: 15:42
Volgens mij definieer jij hier PPropInfo een Pointer naar TPropInfo

Gebruik eens ipv PPropinfo ==> TPropinfo

[edit]
Maar volgens mij gaat het niet werken zoals jij het wil hebben.

[ Voor 35% gewijzigd door Just_a_Gamer op 10-12-2003 21:14 ]


  • martijn_brinkers
  • Registratie: November 2001
  • Laatst online: 31-10-2025
Komt omdat published niet voldoende is. Je moet ook RTTI info laten genereren. Maak er dus van:

Delphi:
1
2
3
4
5
6
7
8
9
10
 {$M+}
 TTest = class(TObject)
  private
    FGetal: Integer;
  published
    property Getal: Integer read FGetal;
  public
    constructor Create;
  end;
 {$M-}


PS. of inherit van TPersistent want die zorgt nl voor de {$M+} en {$M-} (zie classes.pas)

[ Voor 14% gewijzigd door martijn_brinkers op 10-12-2003 21:28 ]


  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Topicstarter
Yes, dat was hem! Bedankt!

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • Just_a_Gamer
  • Registratie: November 2001
  • Laatst online: 15:42
Leuk, ik heb weer iets bijgeleerd :)