Einzelnen Beitrag anzeigen

wschrabi

Registriert seit: 16. Jan 2005
437 Beiträge
 
#1

Array of String mit Pointer

  Alt 1. Dez 2020, 05:41
Hallo, also ich verwnende TsiLang von SICOmponentes. So weit so gut.
Doch ich hab einen Array of String und da muss man lt. FAQ https://www.tsilang.com/tsilang-faq/#11 mit @ arbeiten:
Doch wieso bekomme ich hier eine ACCESS VIOLATION?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
         sD1 : string[23] = ' 1-Nacken ';
         sD2 : string[23] = ' 2-Triceps ';
         sD3 : string[23] = ' 4-Rücken oben ';
         sD4 : string[23] = ' 9-Rücken unten ';
         sD5 : string[23] = '13-O.Schenkel h ';
         sD6 : string[23] = '15-Wade ';
         sD7 : string[23] = ' 6-Brust seitl. ';
         sD8 : string[23] = '10-Hüfte ';
         sD9 : string[23] = '12-O.Schenkel s ';
         sD10: string[23] = ' 5-Brust vorne ';
         sD11: string[23] = ' 3-Biceps ';
         sD12: string[23] = ' 7-Bauch oben ';
         sD13: string[23] = ' 8-Bauch unten ';
         sD14: string[23] = '11-O.Schenkel v ';
         sD15: string[23] = '14-O.Schenkel i ';
         sD16: string[23] = '-----------------------';

      lTxt : array[1..15] of Pstring = (@sD1 ,
                                          @sD2 ,
                                          @sD3 ,
                                          @sD4 ,
                                          @sD5 ,
                                          @sD6 ,
                                          @sD7 ,
                                          @sD8 ,
                                          @sD9 ,
                                          @sD10,
                                          @sD11,
                                          @sD12,
                                          @sD13,
                                          @sD14,
                                          @sD15 );

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
 s : string;
begin
   s:=ltxt[1]^;
   ShowMessage(format('lTxt[1]= %s',[s]));
end;

end.
  Mit Zitat antworten Zitat