На реальной машине не установилось. Не удовлетворены зависимости. Требует libwbclient0_3.6.6-6+deb7u11_i386. Скачал - ставлю - говорит установлена уже более поздняя версия libwbclient0_4.... Пробую удалить эту версию - невозможно удалить т.к. требует один или несколько пакетов...
На виртуалке с тем же дистрибутивом
Выполнил
aptitude clean
aptitude --download-only install - нет результата
aptitude --download-only install samba
В /var/cache/apt/archives/ появилось 3 пакета :
samba_2%3a3.6.6-6+deb7u11_i386.deb
samba-common_2%3a3.6.6-6+deb7u11_all.deb
samba-common-bin_2%3a3.6.6-6+deb7u11_i386.deb
Установил первый - всё установилось. Попытался установить второй - пишет что этот пакет уже установлен. И третий - тоже уже установлен.
/etc/samba/smb.conf есть, /etc/init.d/samba restart работает.
Выходит всё сделал верно? Никаких зависимостей виртуалка, подключенная к инету, не просила.
"что эта опция компилятора по умолчанию отключена, что и помешало Вам увидеть точную строку ошибки" - да отключена. Включил, увидел, понял...
Компилятор делфи просто.../слов нет/
Да, вы правы. Я нашел 2 ошибки.
1 Я изначально установил неверные размеры массивов.
2 Я их изменял не там, где это нужно.
Исправил. Цикл заработал, но нужны тесты. Ещё потестирую...
"Ух, я думал у Вас получится одну процедурку с ошибкой вырезать."
Я предупреждал.
Проведя ещё пару тестов, я перестал понимать вообще что там происходит.
Хотя всё это писал я. Почему код снизу вызывает ошибку сверху?
Все нужные места помечены //!!! То есть это надо смотреть, комментировать или раскомментировать.
Итак
Ошибка не возникает если использовать 120 строк заместо цикла.
Ошибка возникает если использовать цикл, заместо 120 строк. Скорее всего в процедуре read_settings_file.
Ошибка не возникает если использовать цикл и прервать программу на этапе создания xml файла.
Т.е. раскомментировать строки ниже
(//ТАК КАК ПРОГРАММА ТЕСТОВАЯ И ДЛЯ ОТЛАДКИ - СРАЗУ ЗАВЕРШАЕМ ПРОГРАММУ.)
и при 120 записях или цикле всё будет работать. И это очень странно.
И вот почему.
До создания xml файла идет заполнение массива. Это 2-4 минуты.
Если прервать программу после создания массивов (goto End_of_the_programm)- ошибки не будет. Вообще. Т.е. в коде создания массивов ошибок нет.
Но если сделать цикл выше и не прерывать программу - ошибка появится мгновенно.
Но как? Программе ещё выполняться 2-4 минуты... Она ещё не знает - прервут её ниже или нет.
Ставим прерывание ниже - работает 2-4 минуты и завершается нормально.
Убираем прерывание ниже - мгновенно ошибка выше...
Получается, что цикл выше "знает" прервут ли программу ниже или нет???
Я выделил участки кода, который используется комментарием
//!!!!!!!!!!!!!!
Чтобы удобно было искать.
Но из всего этого нужно только:
Строка 154 (до строки 257)- procedure read_settings_file; Она создает массивы и заполняет их.
Строка 278 с вызовом этой процедуры. На неё компилятор ругается и показывает сообщение об ошибке.
Строка 366 - там где я пишу цикл, но он вызывает ошибку. И там где пока набиты строки - которые работают.
-----
Что я хочу сказать. Я принципиально не понимаю, почему не работает конструкция с циклом.
//любой код
//рабочий код
a:=array[1];
b:=array[2];
//а это ошибка
for k:=1 to 2 do
begin
с:=array[k];
end;
Если массивы созданы, инициализированы, очищены....что угодно..., то почему простое обращение по номеру элемента массива работает, а "подстановка номера циклом" вызывает ошибку?
И почему компилятор указывает ошибку выше - на вызов процедуры, создающей и заполняющей массив? Если она не правильная, то программа не должна работать.
Но она работает с обычной строкой.
Или если в цикле ошибка - то укажи на цикл. Нет указывает на вызов процедуры.
Т.е. пишем один код ниже - процедура работает. Пишем второй код ниже - процедура выше перестала работать. Там ошибка? Но как тогда раньше работало?
Я просто обратился к элементу массива из цикла. Пусть я ошибся при обращении - так должно указать на строку - цикл. По типу - в вашем цикле ошибка...
Нет говорит в процедуре? Чудеса.
1) Visual C# — это реализация языка C# корпорацией Майкрософт. Поддержка Visual C# в Visual Studio обеспечивается с помощью полнофункционального редактора кода, компилятора, шаблонов проектов, конструкторов, мастеров кода, мощного и удобного отладчика и многих других средств.
---
Из своего опыта скажу, что можно знать язык, но конкретная реализация может свести часть знаний на нет. Поэтому часто требуют знать реализацию, а не язык. А этих реализаций бывает много.
Проще говоря язык описывается стандартами, а разработчики реализаций языка клали на стандарты своё большое имхо. (
2) Но опять .... via C#" Рассматривают платформу в .NET Framework в совокупности с языком.
Но язык не имеет отношения к платформе. И на делфи можно писать с использованием .NET Framework. Почему идет такая связь? Такое рассмотрение не отдельной платформы?
Да я программист. Не супер, но и не новичок. Неплохо знаю Delphi. Куда устраиваться будем и не побьют ли меня за одно упоминание об этом языке? Разбираюсь в php/html/css.
Основная проблема в том - что даже школьник вполне ориентируется в Delphi и php.
И его код и мой будут работать. Но мой код будет иным, как и решение.
А работодателю это не важно. И в большинстве случаев это не будет заметно.
А то что потом его код и его решение..и тормоза..и маштабируемость..и solid /тут умные слова/ так это потом.
Вот поэтому вы и видите огромное количество людей, которые знают гораздо меньше, чем хотелось бы. Потому что знать многого не надо.
А моя цель изучить язык так, чтобы быть перспективным специалистом. По возможности труднозаменимым. Четко, ясно и однозначно понимать язык, его реализацию.
Да ваш код показывает сообщение. Но все равно не ясно в чем дело.
Деление на ноль было, ошибка была - идем в except.
Что значит использовать значение с?
с определено в секции var как переменная. Мы даже можем задать ему значение выше с:=0, например.
А ниже с:=c+1;
И ничего не произойдет, в моем примере.
Вставим с:=c+1; во все секции до и после try except end и ничего....
По идее присваивать значение "с" в данном примере не нужно. Это значение будет результатом от деления.
Объявление всех переменных идет в секции var.
Присваивание значений чуть ниже.
Можно так делать.
В разных языках можно еще и не так делать.
Нет. Торренты это пиратство (Судя по СМИ, 1 каналу, лиге безопасного интернета, цирку шапито...). Только напрямую. Я от облачных сервисов "ушел" т.к. там 2 клика.
И пользователь может не увидеть кнопочку скачать или принять это за обман.
Сейчас много такого обмана под видом скачивания файлов.
"ищите в JS-скриптах обработку нажатия на ссылки" Нашел lsd-widgets-action-text Строка 282. И что дальше? Нет вы не подумайте что я ленивый или не понимаю работу php, ajax.
Регулярно использую это в своих проектах.
Но вот код этой страницы...я даже не могу сказать что там происходит.
Вы же понимаете, что страница с 25500 строчками это...ну немного перебор?
Вот код страницы https://cloud.mail.ru/public/2LHd/Y9ky3hvN9
"Все это есть в глобальных массивах $_SERVER" Доступа к серверу нет. Сторонний сервер. Код на их стороне изменить не могу. Апи разумеется тоже нет.
При чем тут https? Это уже защищенный протокол обмена....
DNS сервер - джино. Их днс сервера.
У А записи есть 2 поля. Поддомен и ip адрес. Ip адрес у меня один - т.е. однозначно ясно что вводить. Вопрос сводится к тому - что вводить в строку поддомен?
Поддоменов на сервере у меня нет. Там папка www с вложенными папками.
Пустое значение в поддомене - не работает. Адрес сервера в поддомене - тоже не работает. Адрес этого же сайта - не работает. Ничего не работает.
Всего 1 поле...