Anzeige der Elemente eines selbst definierten Records

Rund um die LCL und andere Komponenten
Antworten
niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Anzeige der Elemente eines selbst definierten Records

Beitrag von niederrheiner »

Hallo an Alle,
in einer Unit habe ich einen Record definiert

Code: Alles auswählen

TMyRecord_test = record
   id        :integer;
   name   :string;
end;


Wenn ich diesen Record nun in einer Prozedure benutze, also den Namen TMyRecord_test eintippe, gefolgt von einem Punkt(.) so erscheint ein Hinweis mit dem Aufbau dieses Record.

Definiere ich nun den gleichen Record in einer externen Unit und importiere diese Unit mit use myunit und spreche den Record wie oben beschrieben an, so erscheint Hinweis zur Auswahl der einzelnen Elemente dieses Records.

Meine Frage nun:
- ist dies so gewollt oder
- kann ich dieses Feature irgendwo einschalten ?

Kann mir jemand von Euch Tipps und Hinweise geben?

Bis dann ...
MfG
Günter

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Anzeige der Elemente eines selbst definierten Records

Beitrag von Socke »

niederrheiner hat geschrieben:Wenn ich diesen Record nun in einer Prozedure benutze, also den Namen TMyRecord_test eintippe, gefolgt von einem Punkt(.) so erscheint ein Hinweis mit dem Aufbau dieses Record.

Definiere ich nun den gleichen Record in einer externen Unit und importiere diese Unit mit use myunit und spreche den Record wie oben beschrieben an, so erscheint Hinweis zur Auswahl der einzelnen Elemente dieses Records.

Wo genau ist jetzt der Unterschied in der Anzeige?

Du kannst mit Strg+Leertaste die Anzeige aufrufen. Vielleicht solltest du aber auch erst eine Variable deines Recordtyps deklarieren. Ich kann mir nur schwer vorstellen, welche Informationen du aus beispielsweise TMyRecord_test.id herausziehen kannst/möchtest (abgesehen von der Speichergröße mit SizeOf()).

Code: Alles auswählen

var
x: TMyRecord_test;
begin
  x.// Code Completion starts here ...
end;
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

niederrheiner
Beiträge: 87
Registriert: Sa 19. Jan 2008, 17:21
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Rheinberg

Re: Anzeige der Elemente eines selbst definierten Records

Beitrag von niederrheiner »

Hallo Socke,
danke für Deine Antwort. Es klappt immer noch nicht so. Mit Strg+Leertaste lande ich im Use-Teile der aktuellen Unit. Die Code-Completion nach dem Punkt (.) klappt auch nicht.
Ich scizzere hier mal meine realen Definitionen

externe Unit:

Code: Alles auswählen

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  ZDataset;
 
type TMyRecord_cb = record
  sql_query       :TZQuery;
  sql_text        :string;
  cb_combo        :TComboBox;
end;



aufrufende Unit:

Code: Alles auswählen

uses
  ... ,myfunc;
 
...
 
  public
    { public declarations }
 
  end;
 
var
 ...
  cb_rec                           :TMyRecord_cb;
 
implementation
 
{$R *.lfm}
 
{ Tfrm_main }
procedure Tfrm_main.cb_fuellen();
var
 
  i_anz     :integer;
  i         :integer;
begin
  // Füllen einer Combobox
  cb_rec. // Code Completion starts here  ===> not
...
end;


Ich habe folgende Lazarus bzw. Freepascal Versionen:
Lazarus: 0.9.30.4-0
Freepascal:2.6.0 SVN-Rev.i386-linux-gtk2

Mir sind bei dieser Verion(en) auch andere "Merkwürdigkeiten" aufgefallen, z.B. läßt sich nicht mehr mit Bearbeiten-->Auswahl kommentieren ein ganzer Block kommentieren. Das aber nur am Rande.

Bis dann ...
MfG
Günter

Antworten