Thank you for having given your 'issue' a understandable context.
(i am assuming here that you did not do anything specific to your main project source-code (.lpr file).
Let's start with some theory.
Here in the reference manual we can read:
The initialization block is used to initialize certain variables or execute code that is necessary for the correct functioning of the unit. The initialization parts of the units are executed in the order that the compiler loaded the units when compiling a program. They are executed before the first statement of the program is executed.
What that means, is that the code you placed inside the unit's initialization section is executed _before_ the main application is started. The main application (.lpr project file) takes care of initializing the Application object and creates (and then adds) your custom Forms to the Application.
That also means that at the time your code inside the initialization section is executed, none of the visual components are 'valid', and therefor can't be used.
fwiw: the usage of "Form1.Edit2.Text:= IniLine;" is the correct one in this context, but as said, the form does nto exist yet, unfortunately resulting in a sigv error.
But, there are several ways to 'overcome' this issue:
1) on your main form create a OnCreate Event handler, and place your code inside there
2) Still use your initialization section, but store your string in a temp variable that you use later on to be displayed on your form (inside your edit control). You can also use the OnCreate event of your Form for that.
I would personally opt for option 1, as that let's you experience better how the OOP concept of Lazarus works.
PS:
here is something you perhaps might like