Так что я полный новичок в программировании и был бы признателен за любую помощь / «указание» в правильном направлении. Если требуется не так много, то я был бы признателен, если бы кто-нибудь действительно опубликовал решение.
По сути, я создаю симулятор движения снаряда. Симулятор работает отлично, однако у меня есть небольшая проблема: количество точек, которые мне нужно соединить в моей программе, различается. На данный момент я просто использую огромный размер массива (например, 10 000) для компенсации. На самом деле я хотел бы более чистый способ сделать это. Теперь я уверен, что вы все думаете: динамические массивы! Однако при попытке использовать динамические массивы я получаю страницы и страницы ошибок. Мне сказали, что это потому, что функции Windows API не имеют доступа к куче памяти динамического массива. Вот мой текущий код:
procedure TNewPageControl.PaintWindow(DC : HDC);
var
Points : Array [1..10000] of TPoint;
NumOfPoints : integer;
begin
{Generate Point Co-Ordinates and Increment NumOfPoints}
PolyLine(DC, Points, NumOfPoints);
end;
Как я уже сказал, пока мой код работает отлично, мне просто нужно более сложное решение, чем то, что у меня есть на данный момент. Мне сказали, что я могу использовать указатели (о которых я ничего не знаю), чтобы действовать почти как динамический массив, который может понять функция Windows. Кто-нибудь знает, как я могу это сделать?
Я использую Lazarus, если это имеет значение. Если я не получу ответов здесь, я попробую спросить на форумах Lazarus.
Спасибо :)