{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Альберт Эйнштейнов: заметки с тегом delphi",
    "_rss_description": "Альберт Эйнштейнов",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "http:\/\/depperte.ru\/blog\/tags\/delphi\/",
    "feed_url": "http:\/\/depperte.ru\/blog\/tags\/delphi\/json\/",
    "icon": "http:\/\/depperte.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1706431601",
    "authors": [
        {
            "name": "А. Эйнштейнов",
            "url": "http:\/\/depperte.ru\/blog\/",
            "avatar": "http:\/\/depperte.ru\/blog\/pictures\/userpic\/userpic@2x.jpg?1706431601"
        }
    ],
    "items": [
        {
            "id": "6",
            "url": "http:\/\/depperte.ru\/blog\/all\/neskolko-podskazok-dlya-delphi\/",
            "title": "Несколько подсказок для Delphi",
            "content_html": "<p>Несколько замечательных подсказок при работе с Delphi IDE:<\/p>\n<ol start=\"1\">\n<li>Чтобы вызвать список всех предупреждений в проекте (как при первой компиляции, или после билда, или после удаления всех dcu-файлов), нужно в меню Project выбрать меню Syntax Check. И все!<\/li>\n<\/ol>\n<ol start=\"2\">\n<li>Иногда при компиляции появляется предупреждение следующего вида: Unit ’Vcl.FileCtrl’ is specific to a platform. Чтобы его убрать нужно в файле, на который ругается компилятор, после секции interface подставить вот такой хинт: {$WARN UNIT_PLATFORM OFF}.<\/li>\n<\/ol>\n<ol start=\"3\">\n<li>Для уменьшения размера exe-файла можно в любом месте dpr-файла подставить хинт: {$SetPEFlags IMAGE_FILE_RELOCS_STRIPPED}, предварительно подключив модуль Windows в секцию uses.<\/li>\n<\/ol>\n",
            "date_published": "2015-09-09T02:05:24+05:00",
            "date_modified": "2016-06-08T08:41:30+05:00",
            "tags": [
                "delphi",
                "it"
            ],
            "_date_published_rfc2822": "Wed, 09 Sep 2015 02:05:24 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "6",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "9",
            "url": "http:\/\/depperte.ru\/blog\/all\/oshibka-ora-03113-pri-ispolzovanii-odac-i-variant\/",
            "title": "Ошибка ORA-03113 при использовании ODAC и Variant",
            "content_html": "<p>Неожиданно столкнулись с проблемой появления ошибки ORA-03113: end-of-file on communication channel при использовании компонентов ODAC в приложениях, написанных с помощью Delphi XE5. Режим Direct Mode, база данных Oracle 11g, вызов серверных хранимых процедур.<\/p>\n<p>По-русски, это означает, что была прервана связь между клиентом и сервером. Ошибку можно было исправить только переподключением. Непонятным оставался механизм ошибки и соответственно ее источник.<\/p>\n<p>После нескольких дней поиска выяснилось следующее. Среди входных параметров вызываемой хранимой процедуры был один параметр типа VARCHAR. В Delphi в этот параметр данные передавались из переменной типа Variant. Тип Variant удобен тем, что может принимать значение NULL, чего не могут типы Integer или String.<\/p>\n<p>Так вот, при передачи параметра в компонент TStoredProc тип Variant передавался без всяческих преобразований. Вот так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">parameters.Add ( _provider.CreateParameter ( &#039;datum_level_in&#039;, section.DatumLevel ) );<\/code><\/pre><p>Как раз это и являлось причиной ошибки. По так и невыясненной причине вызов метода Execute напрочь валил текущую сессию.<\/p>\n<p>Достаточно было добавить VarToStr () и все заработало. Замечу, что такое поведение было замечено лишь в том случае, когда реципиентом был именно тип VARCHAR. С типом NUMBER такого не наблюдалось.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">parameters.Add ( _provider.CreateParameter ( &#039;datum_level_in&#039;, VarToStr ( section.DatumLevel ) ) );<\/code><\/pre>",
            "date_published": "2014-12-15T08:47:36+05:00",
            "date_modified": "2016-06-08T08:42:03+05:00",
            "tags": [
                "delphi",
                "it"
            ],
            "_date_published_rfc2822": "Mon, 15 Dec 2014 08:47:36 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "9",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "12",
            "url": "http:\/\/depperte.ru\/blog\/all\/nerabotayuschie-breakpoints-v-delphi-xe5\/",
            "title": "Неработающие breakpoints в Delphi XE5",
            "content_html": "<p>Иногда бывает так, что при отладке все breakpoints становятся зелеными, и где бы ты их не поставил, они всегда игнорируются.<\/p>\n<p>Лечится следующим образом:<\/p>\n<ol start=\"1\">\n<li>В дереве проектов жамкаем правой кнопкой мыши и выбираем пункт «Clean» или «Clean All».<\/li>\n<li>Далее пересобираем проект, делая «Build» (Shift+F9).<\/li>\n<li>Запускаем. Все работает.<\/li>\n<\/ol>\n",
            "date_published": "2014-09-15T09:06:23+05:00",
            "date_modified": "2016-06-08T08:44:01+05:00",
            "tags": [
                "delphi",
                "it"
            ],
            "_date_published_rfc2822": "Mon, 15 Sep 2014 09:06:23 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "12",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "14",
            "url": "http:\/\/depperte.ru\/blog\/all\/problema-obnovleniya-faylov-pri-razvertyvanii-deployment-prilozh\/",
            "title": "Проблема обновления файлов при развертывании (deployment) приложения на эмуляторе iOS (Delphi XE5)",
            "content_html": "<p>Про разработку приложений iOS на Delphi XE5.<\/p>\n<p>В <a href=\"http:\/\/alhymov.blogspot.ru\/2014\/02\/testflightapp.html\">блоге<\/a> Павла Алхимова я задал такой вопрос:<\/p>\n<blockquote>\n<p>«Небольшая проблема с настройками deployment при запуске проекта на эмуляторе iOS. В проекте использую базу данных SQLite, создал файл, все хорошо, под Windows 7 работает. Пробую залить на эмулятор — все нормально, работает. Далее в ходе разработки немного меняю структуру БД (добавляю пару таблиц и представление), соответственно меняется сам файл БД. Запускаю под Windows 7 — все нормально, заливаю на эмулятор — не работает, точнее работает, но файл БД остался старым. То есть при очередном deployment он не подтянулся. Почему так? Есть какие-нибудь настройки, флаги или т. п. о которых я не знаю? Единственное, что пришло в голову — руками залезть в скретч-директорию эмулятора и почистить этот файл, тогда при следующем запуске он копируется.﻿»<\/p>\n<\/blockquote>\n<p>И получил вот такой ответ от Павла:<\/p>\n<blockquote>\n<p>«Именно так, если старое приложение не было удалено. Новая база лежит в пакете приложения и пытается при старте приложения извлечься в песочницу — а место уже занято! Поэтому приложение либо удалять нужно, либо в самом приложении удалять меняющийся файл. Я, например, так и поступаю — сделал команду „обновить данные“, которая убивает файл данных и останавливает приложение. При следующем старте недостающий файл будет извлечён из пакета приложения и пойдёт в работу.﻿»<\/p>\n<\/blockquote>\n<p>Вот так.<\/p>\n",
            "date_published": "2014-02-15T09:52:49+05:00",
            "date_modified": "2016-06-08T08:45:37+05:00",
            "tags": [
                "delphi",
                "it"
            ],
            "_date_published_rfc2822": "Sat, 15 Feb 2014 09:52:49 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "14",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "15",
            "url": "http:\/\/depperte.ru\/blog\/all\/perestala-zapuskatsya-sreda-delphi\/",
            "title": "Перестала запускаться среда Delphi",
            "content_html": "<p>Столкнулся с такой проблемой впервые при работе с Delphi XE5. При очередном открытии проекта неожиданно было выдано окно с вопросом: «Включить IDE при следующем запуске Delphi?». Совершенно не подумав и до конца не осознав нажал «нет». Хотя проверить, что было бы если выбрал «да», так и не удалось пока. В итоге Delphi перестала запускаться. Повисит в диспетчере задач секунд 10 и пропадает.<\/p>\n<p>Переустановки, repair и прочие танцы не помогают.<\/p>\n<p>Стал разбираться... Оказывается это проблема известна еще с версии 2010. Вот пост, который мне собственно и помог: <a href=\"http:\/\/www.cyberforum.ru\/delphi-beginners\/thread64194.html\"><a href=\"http:\/\/www.cyberforum.ru\/delphi-beginners\/thread64194.html\">http:\/\/www.cyberforum.ru\/delphi-beginners\/thread64194.html<\/a><\/a><\/p>\n<p>Там говорится о том, что достаточно удалить ключ реестра (это для версии 2010):<br \/>\nHKEY_CURRENT_USER\\Software\\CodeGear\\BDS\\7.0\\Disabled IDE Packages\\$(BDS)\\Bin\\delphide140.bpl<\/p>\n<p>Для версии XE5 ключ такой:<br \/>\nHKEY_CURRENT_USER\\Software\\Embarcadero\\BDS\\12.0\\Disabled IDE Packages\\<\/p>\n<p>Удалением одного ключа не обошлось. У меня для версии XE5 пришлось удалить весь раздел Disabled IDE Packages. На машинах, где таких ошибок не возникало такого раздела и нет вовсе.<\/p>\n",
            "date_published": "2014-02-15T09:40:51+05:00",
            "date_modified": "2016-06-08T08:46:12+05:00",
            "tags": [
                "delphi",
                "it"
            ],
            "_date_published_rfc2822": "Sat, 15 Feb 2014 09:40:51 +0500",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "15",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}