Forum > Russian

External: SIGSEGV

<< < (2/2)

Zeno:
У меня есть еще пара вопросов: Почему?

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---N1:= TNumber.Create; //работает правильноN1.Create; //работает с ошибкой Ведь синтаксический анализатор признает оба варианта правильными, разве это не одно и то же?
И второй вопрос: как создать массив типа TNumber? Нужно ли каждый элемент массива инициализировать конструктором или же можно выделить память для каждого элемента операцией New?

Handoko:
I don't know and I don't care why the syntax analyzer accepts the line #10, there were no compile error, warning, nor hint. I just want to tell you, don't do it:


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---type  TNumber = class    // ...  end; procedure TForm1.Button1Click(Sender: TObject);var  N1: TNumber;begin  N1.Create;end;
If you're interested, I started a new thread:
https://forum.lazarus.freepascal.org/index.php/topic,57612.msg428687.html#msg428687


Array of TNumber:


--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---procedure TForm1.Button1Click(Sender: TObject);const  ItemCount = 10;var  MyArrayOfNumber: array of TNumber;  i: Integer;begin  SetLength(MyArrayOfNumber, ItemCount);  for i := 0 to ItemCount - 1 do    MyArrayOfNumber[i] := TNumber.Create;end;
If the array is a dynamic array, you first need to use SetLength to request space from the unused memory, see line #8. Read more: https://www.freepascal.org/docs-html/rtl/system/setlength.html

Because by default, Pascal array starts from 0, so 10 items of the array are actually started from 0 to 9, see line #9.

Before you can use the instance of the TNumber you have to call its constructor, in the example it is TNumber.Create, see line #10.

Seenkao:
Товарищи англичане, не хотите воспользоваться переводчиком и предоставить перевод на не английском форуме?

Очень интересно получается, что все должны переводить на английский, на англоязычном форуме, а вы не можете перевести когда находитесь на не англоязычном форуме!!! >:D

Извиняюсь за эмоции! Просто напрягает, когда свои же правила не соблюдаем.  :-[

Google translate:
Comrades, Englishmen, do you want to use a translator and provide a translation on a non-English forum?

It turns out very interesting that everyone should translate into English, on an English-speaking forum, and you cannot translate when you are on a non-English-speaking forum !!! >:D

Sorry for the emotions! It's just annoying when we don't follow our own rules. :-[

Zeno:
Handoko, спасибо за ответы на мои вопросы!

Navigation

[0] Message Index

[*] Previous page

Go to full version