Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
Заблокирован

Ошибка есть, но программа работает

14.02.2017, 21:09. Показов 2304. Ответов 26
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем проблема такая, что при вводе данных в таблицу выскакивает ошибка, сама по себе просто так-какая-то точка там уасная, игнорировать или нет?
Ну ладно, допустим что была ошибка - и программа работала не так. Исправил
Pascal
1
2
3
4
5
6
7
8
9
procedure snulya;
var
st: integer;
begin
SetLength(arraygrid[HeaderCell-1],znachenie);
for st:=0 to znachenie-1 do
SetLength(arraygrid[HeaderCell-1,st],1,1,1);
vyvedetTablicu;
end;
Всё равно перед каждым вводом в заголовок столбца выскакивает ошибка, не после, а перед. Как от этого избавиться? И что самое интересно - шапка заполняется и процедура работает. Что это за ошибка, помогите пожалуйста.
Вот вся процедура, я её ещё не исправил полностью, но это не из-за ошибки в коде сообщение об ошибке в ходе выполнения программы, оно выскаивает до ввода данных.
Кликните здесь для просмотра всего текста
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
procedure TForm1.HeaderEditorEditingDone(Sender: TObject);
var/////////////////////////////////////////////////////////////////////////////////////////////////////
bool,counter, InterVar, Rezult, SaveVar, x, y, x1, y1, znachenie : integer;
soderganie: string[6];
grid : TStringGrid;
arr1: arr;
procedure snulya;
var
st: integer;
begin
SetLength(arraygrid[HeaderCell-1],znachenie);
for st:=0 to znachenie-1 do
SetLength(arraygrid[HeaderCell-1,st],1,1,1);
vyvedetTablicu;
end;
 procedure spervogo;
 var
 st: integer;
begin
SetLength(arraygrid[izmerenie[0],HeaderCell-1],znachenie);
for st:=0 to znachenie do
SetLength(arraygrid[izmerenie[0],HeaderCell-1,st],1,1);
 vyvedetTablicu;
 end;
procedure svtorogo;
var
 st: integer;
begin
for st:=0 to znachenie do
SetLength(arraygrid[izmerenie[0],izmerenie[1],HeaderCell-1],st,1);
 vyvedetTablicu;
 end;
procedure stretiego;
begin
SetLength(arraygrid[izmerenie[0],izmerenie[1], izmerenie[2],HeaderCell-1],znachenie);
 vyvedetTablicu;
 end;
procedure schetvyortogo;
begin
 end;
procedure spyatogo;
begin
end;
begin
Миниатюры
Ошибка есть, но программа работает  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.02.2017, 21:09
Ответы с готовыми решениями:

Есть ли программа по типу Fraps, которая работает как видеорегистратор
Есть ли программа по типу Fraps, которая работает как видеорегистратор? Т. е. снимает постоянно и спустя некоторое время не останавливая...

Долго работает программа, есть ли какой-то способ ускорить работу?
int bitmap = new int; for (int x = 0; x < word.Width; x++) { for (int y = 0; y < word.Height;...

Есть код и программа , вылазит ошибка
Есть программа с кодом , но у меня вылазит ошибка , не пойму в чем , кто может помочь ? 1. В поле Edit1, вводим функцию x/(x*x*x*x+4);...

26
Заблокирован
15.02.2017, 21:00  [ТС]
Студворк — интернет-сервис помощи студентам
туда-же
Pascal
1
2
3
4
5
6
7
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState
  );
begin
if Key<50 then
  begin
keyOff[Key];
vyvedetTablicu;
Добавлено через 2 минуты
Цитата Сообщение от volvo Посмотреть сообщение
Это попытка работы обработчика события стринггрида OnEditingDone
а кто создает это событие при выставлении галочки?

Добавлено через 3 минуты
ах, да, сори, тут-же перевод прямой: вверх это -клавиша вниз, вниз это - клавиша вверх.

Добавлено через 3 минуты
Цитата Сообщение от volvo Посмотреть сообщение
Это попытка работы обработчика события стринггрида OnEditingDone (которое, среди прочего, возникает и при попытке убрать фокус со StringGrid-а)
ну и вернулись с чего начали - я даже форму не программировал, я просто перетащил компоненты.
а в коде, среди прочего, вызова этого события нет, только разрешение. у меня нет такого кода, который сам-бы редактировал содержимое ячеек.

Добавлено через 7 минут
Так, что я обойду эти ошибки, и программа будет работать и выложена как free, с подробным мануалом и описанием косяков. Юзеры решат чьи это косяки, слава бога прога не для нубов и не тетрис.
Прошу прощения что отнял у Вас время, не отнимайте и вы моего. Я могу даже к любой другой среде свой код приладить, главное - чтобы был код, и чтобы он работал без ошибок. А что там обрабатывает отладчик - до фонаря мне, я сам могу найти все ошибки СВОЕГО НЕЧИТАБЕЛЬНОГО КОДА, в то время как вы для прочтения вашего читабельного , придумали отладчики .

Добавлено через 8 минут
Pascal
1
for st:=0 to znachenie-1
этоже так трудно... а зачем? лучше кидаться какашками, всё равно юзер не понимает тонкостей работы сверхумного отладчика.

Добавлено через 5 минут
теперь ошибка в первой строке. и кто его знает почему снизу вверх ошибки ищутся...
Pascal
1
2
3
4
5
6
 y1:=length(arraygrid[x-1]);
    if (y-1=y1) or (y-1<y1) then
 begin
SetLength(arraygrid[x-1,y-1],znachenie);
for st:=0 to znachenie-1 do
SetLength(arraygrid[x-1,y-1,st],1,1);
Добавлено через 7 минут
и какая может быть в той строке ошибка? её нету. поэтому программа и работает, а остальное - не мои проблемы. я её сделаю как и сказал. просто буду искать их не в супер отладчике и компиляторе, а при выполнении программы. всё возможно.

Добавлено через 2 минуты
как только вы найдёте её там, эту ошибку
Pascal
1
y1:=length(arraygrid[x-1]);
тогда и рассказывайте о моей убогости и и неимоверной крутости своей среды, которая сам к тому-же события создает, после чего обвиняют её юзера в том, что его код пытается самостоятельно редактировать содержание таблицы.

Добавлено через 7 минут
Цитата Сообщение от volvo Посмотреть сообщение
Мне, скажем, не удалось даже включить чекбокс Edit,
включается чек бокс курсором, просто нужно нажать сначала CTRL - а это значит: особенности вашей среды. код-то работает, а среду не я создавал, извините.

Добавлено через 16 минут
да есть недоработки кода, но я их отслежу и через работу программы. тут уж не до хорошего.

Добавлено через 10 минут
причём проблема с глюкавостью уже давно, и я давно о ней писал, что форма не работает до тех пор, пока не поставить галочку в чекбоксе, просто это как-то игнорировалось другими (точнее меня послали самому разбираться с этим ), просто с вводом слушателей клавиатуры единственный способ это сделать - нажать первым CTRL. и всё - программа будет работать без глюков, остальные, что связаны с кодом - отловлю без сверхмогущего отладчика, обладающего даром экстрасенсорики.

Добавлено через 3 часа 47 минут
Отладчик отпустило, начал работать, и ошибку не видит уже в этой строке
Pascal
1
2
1
y1:=length(arraygrid[x-1]);
Чудны дела твои господи. А я уже с трёхлавым змеем биться собрался . Ну работает так работает-чего уж теперь.
Но странно, всё-равно, как-то, всё это. Не работал-не работал, потом-бац и заработал. Неужели навсегда заработал?
Отладчик меня простил .
Если у меня появится возможность писать к аве сообщение, у меня там будет - "прощённый отладчиком" .
0
пофигист широкого профиля
4770 / 3206 / 862
Регистрация: 15.07.2013
Сообщений: 18,613
16.02.2017, 01:53
Цитата Сообщение от Hretgir Посмотреть сообщение
Но странно, всё-равно, как-то, всё это. Не работал-не работал, потом-бац и заработал.
Скажем так. Ошибка работы с памятью была всегда. Она и до сих пор есть, поскольку ты её не нашел и не исправил. У тебя был шанс её найти, когда система выдавала тебе сообщение об AV (Access Violation), но ты этим шансом пренебрег. Так что пусть теперь мучаются пользователи твоей программы.

Добавлено через 6 минут
Если всё же одумаешься и перестанешь кивать на "глюки", то прочитай вот эту статью главного нашего специалиста по работе с ошибками. Может поймешь, почему сообщение об AV не всегда выдаётся, когда сама ошибка работы с памятью всё-таки есть. А также какое это счастье, когда такое сообщение появляется "ни с того, ни с сего".
1
Заблокирован
16.02.2017, 09:32  [ТС]
Цитата Сообщение от northener Посмотреть сообщение
А также какое это счастье, когда такое сообщение появляется "ни с того, ни с сего".
Можешь поверить, я знаю какое это "счастье", хоть сам я и не кодер профессиональный, но я доделываю прогу уже не потому что хочу доделать, а потому что взялся и сделал не то чтобы много, но не мало (а всё было сделано в личное время, после работы), а взялся за пятимерную, БД по сути. Просто программирование я не брошу по любому - сейчас времена не те, чтобы в развлекательные программы пялиться по телеку, и просто хочется сказать - то что у России нет своей ОС - большое упущение, непозволительное и расточительное для державы, запускающей корабли в космос и имеющей много других преимуществ.

Не по теме:

Моё личное мнение - это всё равно, что на всех потомках граждан, растущих и живущих в РФ, где-то поставить подпись-"батрак на все времена", то-есть: ни робототехника, ни наука, нам не нужна получается, мы будем получается, добывать для планеты ресурсы и нас будет заваливать в шахтах, тонуть на кораблях, падать с высоты. Ну что можно ещё сказать - вот, и то в реферате они мне какен подложили - включили в реферат 4-ый эскиз, а там с 1-3 всё неплохо получается, и глючит у них БД - всё свалено в кучу, описание, реферат. Вообще расхлебаи короче

http://www1.fips.ru/fips_servl... 1&QID=html

Не по теме:

а там всё можно сделать красиво по меркам инженерии

Кликните здесь для просмотра всего текста
(вот блокировка через четверть оборота, через уменьшение износа посредство снижения скорости масс фиксируемой детали)
писал(а) 13.02.17 :: 20:17:17:
Шарик от подшипника,пружина к этому шарику,трубка для этой пружины,набор или одно кольцо прикрепленное к валу.
На кольце делаются несколько углублений под размер шарика.
При вращении вала при совпадении углубления с шариком он туда заскочит ,что вызовет фиксацию вала в определённом положении.Для переключения между числом фиксаций необходимо добавить трубу в которой свободно движутся кольца и толкатель с аналогичным фиксатором положения(ряд углублений ,шарик,пружина,трубка).

Ну это что-то существенное и применимое, как вариант, спасибо. Может ещё кто что подкинет толковое. Пробовать и сравнивать надо разные варианты будет. Но тут надо учитывать - переключения будут достаточно частыми. Так например, для меньшего износа шарика от ударов, можно приладить шатунчик и грузик (как цилиндр в ДВС) на направляющей, чтобы грузик инерцией амортизировал удар по шарику, когда его расклинивает между вращательной парой. Но это дело - лишний вес, но я пока не придумал другого средства борьбы с износом. Хотя, шарик нужно поставить на пару скольжения, где одним из элементов и будет этот грузик. Во. Может ещё кто что подскажет. Но опробовать стоит оба варианта. Хотя тут и так ясно - чем меньше скорость движения масс, тем меньше износ.
но всё равно сначала допилить программу, а потом уже займусь изобретением


Добавлено через 22 минуты

Не по теме:

А доделывать мне её ещё, с моим опытом (от двух недель, с учётом что надо какой-то функционал минимальный будет прилепить, и моего невеликого опыта).

0
Заблокирован
16.02.2017, 10:18  [ТС]
Вот то, что осталось со всеми включёнными фичами в отладчике, когда я просто на крестик в правом верхнем углу закрываю, если-же в меню компилятора останавливаю-то никакого сообщения об ошибке не выскакивает, всё тогда ровно.
Но на всякий случай скриншот.
А вот и сам проект на настоящий момент (не исключаю ещё пока возможность ошибок где-то, но работает стабильно, только надо после создания файла нажать ctrl, можно и до, тогда галочка будет ставится и убираться курсором, если стоит галочка - массив можно редактировать, пока только размеры вроде. при снятой галочке происходит навигация по массиву - клик по заголовочному столбцу- измерение назад, клик по заголовочной строке - измерение вперёд, двойной клик по ячейке - два измерения вперёд. редактируются размеры как в шапке, так и в ячейках грида). Для навигации можно просто нажать ctrl и держать зажатым, либо снять галочку курсором.
Миниатюры
Ошибка есть, но программа работает  
Вложения
Тип файла: zip 3333.zip (345.3 Кб, 2 просмотров)
0
Заблокирован
16.02.2017, 10:32  [ТС]
Под минимальным функционалом я подразумеваю массив сохраняемый в отдельный файл, в нём будут хранится описания (в формате string) всех веток , редактирование всех данных, и перетаскивание веток. для начала этого будет вполне достаточным (перетаскивание веток).
0
30 / 24 / 22
Регистрация: 12.11.2011
Сообщений: 181
16.02.2017, 10:52
Не знаю почему в заголовке окна написано Error, но похоже (у меня на линухе это выглядит по-другому - без окна) что это отчет модуля heaptrc о использовании памяти. Нули говорят о том что вся память, которая была выделена под переменные, была освобождена. Что есть правильно. Естественно, при релизной сборке данный отчет выключается. Настройка здесь: Параметры проекта-отладка-Использовать модуль Heaptrc
1
Заблокирован
16.02.2017, 16:42  [ТС]
В первую очередь, что надо - выгребать весь мусор, который там был оставлен ещё с момента быстрой импровизации основного замысла, так например там осталось множество такого мусора, после убирания которого стало намного меньше таких операций как "-1", они там у меня на каждом шагу. Может кто-то и придавал этому значение, я лично нет, я и не претендовал на читабельность своего кода (но в принципе знаю, что группа поддержки скандирующая-"он дурак" существует (не именно тут на форуме, но есть), и работает вполне активно, до сих пор, но пофиг - эти люди зарабатывают себе минусы по жизни, их право, я сделаю всё как надо), сейчас выгребаю, всё равно ошибки есть, которые как-бы ошибками и не являются, а сказываются только при редактировании массива в работе программы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.02.2017, 16:42
Помогаю со студенческими работами здесь

Есть код, но он не полностью работает, в чем ошибка?
Вообще работает все хорошо , но как только добавляю две команды Unload Userform2 и Unload UserForm3 начинается проблема, он выполняет все...

Программа для подсчета площади треугольника, есть ошибка
Надо создать программу что бы она вычисляла площад треуголника и должна запустится win32 окна визуал. вот код но тут что то не так. ...

Ошибка. программа не работает
выдаёт ошибку в строке double a; Вот программа #include &lt;iostream&gt; using namespace std; class a { double a; int n; ...

Есть программа, которая должна выводить график max и min функции, но она почему то не работает
Program Graphik; uses Graph; Type T=array of real; gt=string; var Gd,Gm: integer; z1,z2,z3: byte; Procedure Grf(tc:Gt; x,y:...

Программа которая изменяет динамический массив строк - Написал, но есть ошибка
Всем доброго времени суток. В общем сделал программу, которая вкратце делает следующее: 1) Создает динамических массив строк char **m ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений. . . .
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения Продолжаю серию постов о дискретно-событийной модели рабочего. . .
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru