вторник, 31 мая 2011 г.

Установка компонента QuickReport на Delphi 7

   QuickReport идет в поставке Delphi 7, но по умолчанию его нет в палитре компонентов. Для добавления  QuickReport  в палитру компонент нужно выполнить следующую последовательность действий:
  1. В главном меню Delphi 7 выбрать пункт меню Component -> Install Packages...
  2. Откроется окно управления загружаемыми пакетами. В нем нужно нажать кнопку Add... Для добавления нового пакета.
  3. Откроется окно выбора файлов. В данном окне нужно перейти в папку куда была установлена Delphi (за частую это С:\Program Files\Borland\Delphi7\) и открыть папку Bin. 
  4. В окне выбора файлов установим "Тип файлов" в Package library.bpl 
  5. Выберем пакет с именем dclqrt70.bpl и нажмем кнопку Открыть для подтверждения выбора, после чего в списке установленных пакетов добавится QuickReport Components
  6. Нажимаем ОК для закрытия окно.
  7. Тестирование: Создаем новый проект и тестируем работоспособность.

четверг, 26 мая 2011 г.

MySQL ERROR 1452: Cannot add or update a child row: a foreign key constraint fails

Инструментарий: MySQL Server, Navicat
Описание: Нужно было связать две таблицы (Если ограничение установлено, то такая же ошибка возникает при редактировании/вводе новых данных). При создании Foreign Keys и установке свойств On Delete, On Update = CASCADE, получил в ответ следующее сообщение:
ERROR 1452: Cannot add or update a child row: a foreign key constraint fails (`xxx`, CONSTRAINT `fk_xxx` FOREIGN KEY (`xxx`) REFERENCES `xxx` (`xxx`))

Решение: После анализа оказалось что у меня данные с дочерней таблицы ссылаются на несуществующие данные с главной таблицы. После редактирования данных все заработало. Пример:
Table1 (родительсткая)
id Name
1 тест 1
2 тест 2

Table2 (дочерняя)
id idParent Name
1  5              тест 5.1
2 1               тест 1.1
В Table2 первая запись ссылается на записи которых нет в Table1.

вторник, 17 мая 2011 г.

Эффективная реклама на сегодняшний день - банерные сети

   На сегодняшний день самым популярным и эффективным способом размещения рекламы в интернете есть - банерные сети. Яркие графические или мультимедийные банеры наиболее эффективно решают задачу формирования представления о имидже, повышают как узнаваемость бренда так и обеспечивают запоминаемость.
   Преимущества банерной сети в том что в них существует строгое управление тематикой и гибкость отображения. Вы сможете настроить таргетинг и показать банеры только определенной категории пользователей.
Для того чтобы принять участие в банерной сети обращайтесь к партнерам

Delphi: установка MyDAC v5 (Data Access Components for MySQL)

   Инструкция установки компонента MyDAC v5 на Delphi и C++Builder для Win32, Delphi для .NET, Kylix находится в архиве с компонентами. Для себя и для тех, у которых возникли вопросы при установке описываю весь процесс с самого начала. Ниже приведен пример установки с использованием IDE. Я использую Delphi 2010 и MyDAC v5.90.0.57.
   Запустить IDE и выполнить следующие шаги:
  1. Для начала определимся какую сборку будем использовать для работы, поскольку я работаю с Delphi 2010 я буду работать с папкой  Source\Delphi14  (Для Delphi 7 будет соответствующая папка - Source\Delphi7) В дальнейшем обозначим версию под ХХ ( Source\DelphiXX)
  2. Соберем все проекты воедино. Для этого откроем первый нужный нам пакет,  dacXX.dpk
  3. Добавим следующие пакеты, которые находятся в папке Source\DelphiXX, для этого нужно выбрать Project -> Add Exesting Project... в результате чего будет отображено окно выбора нового проекта. После добавления список должен состоять из следующих пакетов (dacХХ.dpk, dacvclXX.dpk, dcldacXX.dpk, dclmydacXX.dpk, dclmysqlmonXX.dpk, mydacXX.dpk, mydacvclXX.dpk, mysqlmonXX.dpk)
  4. Дальше компилируем проект (Project->Compile All Projects). У меня прервалась компиляция из за того, что файл Dac.inc не был найден. Файл Dac.inc находится в папке  Source. Я его и все файлы с расширением *.inc скопировал в папку Source\Design, после чего снова выполнил компиляцию - все удачно скомпилировалось. Правда при компиляции mysqlmonXX, которое информирует о том что нужно скачать SQLBuilder for MySQL Add-in Нажимаем кнопку скачать и после скачивания устанавливаем.
  5.  Для всех пакетов кроме  dacХХ.dpk и mydacXX.dpk выполнил инсталяцию. (Выбираем в менеджере проекта соответствующий проект и кликаем правой кнопкой мыши, после чего в меню выбираем Install)
  6. После всех операций закрываем все и сохраняем (Project Group 1 можно не сохранять) (для закрытия всех проектов нужно выбрать File->Close All)
  7. Дальше добавим пути для дальнейшей корректной работы. Орываем пункт меню "Tools -> Options -> Evironment Options -> Delphi Options -> Library -> Win 32" (Для Delphi 7 другие пункты меню Tools -> Evironment Options -> Library) и напротив пункта Library Path: нажимаем кнопкуиз тремя точками, появится окно в котором нужно выбрать путь к следующей папке \Source\. После выбора нужно нажать кнопку ADD для добавления пути. 
  8. Все, установка и настройка закончена. Для проверки создаем тестовую программу.  
PS. Ясно что форс мажорные обстоятельства были и будет, но у меня прошло все почти без лишних проблем.

Ниже привожу оригинальный текст установки, описанный в документации, которая находится с компонентами  MyDAC v5.90.0.57:

Data Access Components for MySQL Source Code Copyright 1997-2010, Devart. All Rights Reserved

There are two ways to compile and install MyDAC for Windows manually.

I. Using IDE
  Delphi and C++Builder for Win32
  --------------------------------
  Run your IDE and walk through the folowing steps:
    1) Compile DAC run-time package (dacXX.dpk)
    2) For Delphi 6 and higher compile DAC GUI related package (dacvclXX.dpk)
    3) Compile DAC design-time package (dcldacXX.dpk)
    4) Compile MyDAC run-time package (mydacXX.dpk)
    5) For Delphi 6 and higher compile MyDAC GUI related package (mydacvclXX.dpk)
    If you are going to create CLX applications compile MydacClx.pas unit separately.
    6) Compile and install MyDAC design-time package (dclmydacXX.dpk)

  You can find these packages in
     Source\Delphi5\*.dpk - for Delphi 5
     Source\CBuilder5\*.bpk - for C++ Builder 5
     Source\Delphi6\*.dpk - for Delphi 6
     Source\CBuilder6\*.bpk - for C++ Builder 6
     Source\Delphi7\*.dpk - for Delphi 7
     Source\Delphi9\*.dpk - for Delphi 2005
     Source\Delphi10\*.dpk - for BDS 2006
     Source\Delphi11\*.dpk - for RAD Studio 2007
     Source\Delphi12\*.dpk - for RAD Studio 2009
     Source\Delphi14\*.dpk - for RAD Studio 2010

  To compile MyDAC based applications, add MyDAC Source directory path to the "Library Path".

  Delphi for .NET
  ------------------------
  Run your IDE and walk through the folowing steps:     1) Compile DAC run-time package (Devart.Dac.dpk)
     2) Compile DAC design-time package (Devart.Dac.Design.dpk)
     3) Compile MyDAC run-time package (Devart.MyDac.dpk)
     4) Compile MyDAC run-time package (Devart.MyDac.AdoNet.dpk)
     5) Compile and install MyDAC design-time package (Devart.MyDac.Design.dpk)
     6) Specify the path to compiled assembles in "Assembly Search Paths"
     7) To register the MyDataAdapter component in Delphi for .Net Tool Palette, follow these steps:
        - Open Delphi for .Net and go to the "Tool Palette" window;
        - Add "MyDAC" category using popup menu;
        - Select "Installed .NET Components..." from popup menu;
        - Go to the "Installed .NET Components" tab within opened dialog;
        - Check the MyDataAdapter component;
        - Press the OK button.

  You can find these packages in
     Source\Delphi9\*.dpk - for Delphi 2005
     Source\Delphi10\*.dpk - for BDS 2006
     Source\Delphi11\*.dpk - for RAD Studio 2007

   To compile MyDAC based applications, add Devart.Dac and Devart.Mydac to Namespace prefixes, add MyDAC Source directory path to the "Library Path" list.

   Kylix
   ----------------------------
   Run your Kylix IDE and walk the through folowing steps:
      1) Compile DAC run-time package (dacX.dpk)
      2) Compile DAC GUI related package (dacclxX.dpk)
      3) Compile DAC design-time package (dcldacX.dpk)
      4) Compile MyDAC run-time package (mydacX.dpk)
      5) Compile MyDAC GUI related package (mydacclxX.dpk)
      6) Compile and install MyDAC design-time package (dclmydacX.dpk)

  You can find these packages in
     Source\Kylix2\*.dpk     Source\Kylix3\Delphi\*.dpk

II. Using make-files
  Delphi and C++Builder for Win32
  --------------------------------   
    1) Go to one of the following folders (let's denote this folder %MakePath%):
       Source\Delphi5\*.dpk - for Delphi 5
       Source\CBuilder5\*.bpk - for C++ Builder 5
       Source\Delphi6\*.dpk - for Delphi 6
       Source\CBuilder6\*.bpk - for C++ Builder 6
       Source\Delphi7\*.dpk - for Delphi 7
       Source\Delphi9\*.dpk - for Delphi 2005
       Source\Delphi10\*.dpk - for BDS 2006
       Source\Delphi11\*.dpk - for RAD Studio 2007
       Source\Delphi12\*.dpk - for RAD Studio 2009
       Source\Delphi14\*.dpk - for RAD Studio 2010

    2) Find in the 'make.bat' line containing set IdeDir="D:\Program Files\Borland\Delphi7  and make sure that correct path to IDE is set (always include forward quote and do not include ending quote)   
    3) Run 'Make.bat'. Binaries will be copied to the %MakePath%\Mydac subfolder   
    4) Copy %MakePath%\Mydac\*.bpl files to a folder that is included in the PATH environment variable
    5) Run IDE and add dclmydacXX.bpl via Component->Install Packages... menu
    6) To compile MyDAC based applications, add MyDAC Source directory path to the "Library Path" list

  Delphi for .NET
  -----------------
  1) Go to the following folders (let's denote this folder %MakePath%):
      Source\Delphi9\*.dpk - for Delphi 2005
      Source\Delphi10\*.dpk - for BDS 2006
      Source\Delphi11\*.dpk - for RAD Studio 2007

   2) Find in the 'Make.bat' line containing set IdeDir="D:\Program Files\Borland\BDS\4.0  and make sure that correct path to IDE is set (always include forward quote and do not include ending quote)
   3) Run 'Make.bat'. Binaries will be copied to the %MakePath%\Mydac subfolder
   4) Run IDE and add Devart.Mydac.Design.dll via Component->Installed .NET Components->.NET VCL Components->Add... menu. Specify the path to compiled assembles in Component->Assembly Search Paths->Add... menu
   5) To register the MyDataAdapter component in Delphi for .Net Tool Palette, follow these steps:
        - Open Delphi for .Net and go to the "Tool Palette" window;
        - Add "MyDAC" category using popup menu;
       - Select "Installed .NET Components..." from popup menu;
       - Go to the "Installed .NET Components" tab within opened dialog;
       - Press "Select an Assembly" and choose Devart.Mydac.AdoNet.dll;
       - Check the MyDataAdapter component;
       - Press the OK button.
  6) To compile MyDAC based applications, add Devart.Dac and Devart.Mydac to Tools->Options->Environment Options->Delphi Options->Library->  Namespace prefixes