Problem Source: http://www.cnblogs.com/del/archive/2008/05/11/1089344.html#1191871
Unit unit1; interfaceuses windows, messages, sysutils, variants, classes, graphics, controls, forms, dialogs, stdctrls; Type tform1 = Class (tform) button1: tbutton; button2: tbutton; button3: tbutton; Procedure button1click (Sender: tobject); Procedure button2click (Sender: tobject); Procedure button3click (Sender: tobject); end; var form1: tform1; implementation {$ R *. DFM} {give the string to a static (character) array} procedure tform1.button1click (Sender: tobject); const STR = 'in case of Delphi blog'; var staticarr: array [0 .. 255] of char; begin {direct assignment} staticarr: = STR; {display} showmessage (staticarr); {in case of Delphi blog} end; {give the string to dynamic (character) array} procedure tform1.button2click (Sender: tobject); const STR = 'delphi blog in case '; var dynamicarr: array of char; I: integer; begin {set the dynamic array size} setlength (dynamicarr, length (STR); {assign a string to a dynamic array} For I: = 0 to length (dynamicarr) -1 do dynamicarr [I]: = STR [I + 1]; {Show characters in the dynamic array} showmessage (pchar (@ dynamicarr [0]); {In case of Delphi blog} end; {array elements may not be all characters} procedure tform1.button3click (Sender: tobject); const STR = 'in case of Delphi blog '; var dynamicarr: array of string; begin setlength (dynamicarr, 1); dynamicarr [0]: = STR; showmessage (dynamicarr [0]); {in case of Delphi blog} end; end.