Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Софт
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2014, 10:25   #71
Freeon
 
Регистрация: 24.01.2008
Сообщений: 5
По умолчанию

Конструкция работает очень стабильно. Для доступа к БД буду использовать RTC (real thin client), которые тоже отлично работают под несколькими операционками, чего не скажешь про ib и unidac. Сама же работа с БД будет вестись на сервере приложений (linux + postgres). Тем самым клиентская конфигурация будет изолирована от базы и представляет только графический интерфейс + немного логики (aka 1C 8.3). Поэтому сейчас занимаюсь доимпортом имеющихся компонентов и импортом новых... А в мечтах абстрогироватся от БД совсем
Freeon вне форума Ответить с цитированием
Старый 20.03.2014, 12:19   #72
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Цитата:
Сообщение от Freeon Посмотреть сообщение
Конструкция работает очень стабильно. Для доступа к БД буду использовать RTC (real thin client), которые тоже отлично работают под несколькими операционками, чего не скажешь про ib и unidac. Сама же работа с БД будет вестись на сервере приложений (linux + postgres). Тем самым клиентская конфигурация будет изолирована от базы и представляет только графический интерфейс + немного логики (aka 1C 8.3). Поэтому сейчас занимаюсь доимпортом имеющихся компонентов и импортом новых... А в мечтах абстрогироватся от БД совсем
Видимо Вы с импортом классов разобрались, но если будут вопросы, справшивайте. При импорте добавлять нужно только public методы и свойства. Поддержку обработчиков событий (которые не добавлены), тоже нужно прописывать (если попадет использование не поддерживаемого обработчика события, при компиляции скрипта вы получите ошибку, например типа такого: - неизвестный тип TMyDataEvent). К сожалению, импорт ни как не автоматизирован, все придется писать руками...

Последний раз редактировалось Rik; 20.03.2014 в 22:12.
Rik вне форума Ответить с цитированием
Старый 03.06.2014, 21:22   #73
ogorodov
Новичок
Джуниор
 
Регистрация: 03.06.2014
Сообщений: 1
По умолчанию

Привет всем
Использую доработанные вами IBX все вроде хорошо только вот CreateDatabase никак не работает
Код
Код:
  var ibxdbnew: TIBDatabase;
  begin
    ibxdbnew:=TIBDatabase.Create(nil);
    ibxdbnew.DatabaseName:=db_name_;
    ibxdbnew.LibraryName:=lib_;
    ibxdbnew.SQLDialect:=Dialect;
    ibxdbnew.Params.Add('USER '''+UserName+''' PASSWORD '''+Passwd+''' ');
    ibxdbnew.Params.Add('PAGE_SIZE = 4096');
    ibxdbnew.Params.Add('DEFAULT CHARACTER SET WIN1251');
    try
      ibxdbnew.CreateDatabase;
    except
      on E: Exception do
        raise Exception.Create('Ошибка создания FireBird '+E.Message);
    end;
    ibxdbnew.Free;
Никак работать не хотит ... можкт подскажите почему




________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE]
(это кнопочка на панели форматирования с решёточкой #)
Не забывайте об этом!

Модератор.

Последний раз редактировалось Serge_Bliznykov; 04.06.2014 в 01:12.
ogorodov вне форума Ответить с цитированием
Старый 04.06.2014, 00:37   #74
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

ogorodov

Я сделаю исправление в следующем релизе. А пока поправьте самостоятельно.
В компонентах IBX откройте модуль IBDatabase. Найдите метод procedure TIBDataBase.CreateDatabase;

В реализации метода после CheckInactive допишите:
CheckIBLoaded;

Вот полный код метода, для примера.

Код:
procedure TIBDataBase.CreateDatabase;
var
  tr_handle: TISC_TR_HANDLE;
begin
  CheckInactive; 
  CheckIBLoaded; 
  tr_handle := nil;
  Call(
  ClientLib.isc_dsql_execute_immediate(StatusVector, @FHandle, @tr_handle, 0,
    PChar('CREATE DATABASE ''' + FDBName + ''' ' + {do not localize}
    Params.Text), SQLDialect, nil),
    True);
end;
После исправления пересоберите IBX и свое приложение.

Последний раз редактировалось Rik; 04.06.2014 в 05:16.
Rik вне форума Ответить с цитированием
Старый 16.09.2014, 09:58   #75
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

Rik
Вопрос по Diesel.
Synapse в готовой сборке пока нет?
Я с ним и не работал.
Как выглядит не знаю, но полистал установленные компоненты - ничего подходящего не нашел.
vladrvv вне форума Ответить с цитированием
Старый 16.09.2014, 11:12   #76
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Цитата:
Сообщение от vladrvv Посмотреть сообщение
Rik
Вопрос по Diesel.
Synapse в готовой сборке пока нет?
Я с ним и не работал.
Как выглядит не знаю, но полистал установленные компоненты - ничего подходящего не нашел.
Synapse не визуальные компоненты, смотрите классы
THTTPSend, TFTPSend, TPOP3Send, TSMTPSend, TIMAPSend
кроме этого есть дополнительные функции, которых в родном Synapse нет, например для отправки писем есть функция SendToRawSSL, которая идет в дополнение к SendToRaw. Первая использует SSL, вторая нет.
Для использования SSL/TLS, либо в системном каталоге либо в папке с программой должны быть библиотеки
Для Linux:
libssl.so libcrypto.so
Для Windows:
ssleay32.dll libeay32.dll
Под Linux эти библиотеки обычно присутствуют в системном каталоге под именами соответствующих версий типа: libssl.so.3 libcrypto.so.0.1, поэтому нужно создать на них симлинки с именами как я указал выше (libssl.so, libcrypto.so).
Пример отправки почты с использованием функции SendToRawSSL без создания класса TSMTPSend (для отправки без SSL в HostEdit.Text убрать порт, в коде закомментровать SendToRawSSL и раскомментировать SendToRaw. При использовании почтовых серверов mail.ru или yandex.ru в настройках почтовых ящеиков должна быть установлена опция "Разрешить использование внешних программ").
http://visual-t.ru/files/smtp2Test.lm9
Пример работы c TFTPSend
http://visual-t.ru/files/FTPSendTest.lm9
В примере с FTP закомментированы строки для получения с FTP файла, отправки на FTP и удаления.
Выше приведенные ссылки можно вставить прямо в дизанере. Выполнить в меню Файл->Открыть URL (при открытии по URL приложения будут только для чтения, может сохранить их локально)
Здесь можно прочитать про Synapse
http://www.webdelphi.ru/tag/synapse/

Готового примера с THTTPSend нет, выдрал код из рабочей программы, может вам поможет..
Код:
procedure TMainForm.ReadFilter(Sender: TObject; var Value: AnsiString);
begin
  MsgBox.ItemIndex := MsgBox.Items.Add(Value);
  Application.ProcessMessages;
end;

***************************
        if FileExistsUTF8(AFile) and (URL <> '') then
          begin
            MsgBox.ItemIndex := MsgBox.Items.Add('Отправка ' + AFile);
            FS := TFileStream.Create(AFile, fmOpenRead);
            HTTP := THTTPSend.Create;
            HTTP.Timeout := 1800000;
            HTTP.Sock.OnReadFilter := @ReadFilter;
            Code := 0;
            Res := False;
            try
              HTTP.MimeType := 'Application/octet-stream';
              HTTP.Document.CopyFrom(FS, FS.Size);
              Res := HTTP.HTTPMethod('POST', URL);
              Code := HTTP.ResultCode;
              if Res then
              begin
                ResultData.Clear;
                ResultData.LoadFromStream(HTTP.Document);
                for N := 0 to ResultData.Count - 1 do
                  MsgBox.Items.Add(ResultData.Strings[N]);
              end
              else
                MsgBox.ItemIndex := MsgBox.Items.Add('Метод POST завершился неудачно');

            finally
              HTTP.Free;
              FS.Free;
            end;
            if Code = 200 then
            begin
              RenameFileUTF8(AFile, AFile + '_POST');
              MsgBox.ItemIndex := MsgBox.Items.Add('Файл переименован как отправленный');
              Application.ProcessMessages;
            end;
          end;
ps.
К сожалению весь функционал компонент впихнуть в дизель паскаль невозможно, если встретите что какая-либо функция нужная вам не работает или не поддерживается, пишите, можно сюда.

Последний раз редактировалось Rik; 16.09.2014 в 11:46.
Rik вне форума Ответить с цитированием
Старый 16.09.2014, 12:35   #77
vladrvv
Пользователь
 
Регистрация: 07.11.2009
Сообщений: 59
По умолчанию

Ок
Пример FTPSendTest.lm9 скачал.
Подключение выполняется.
Правда, в ЛистБокс выводит только корень директории ФТП.
Надо почитать про synapse
vladrvv вне форума Ответить с цитированием
Старый 23.10.2014, 14:47   #78
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

Небольшая вводная по Дизель-паскаль.
http://youtu.be/EES8aXxwAoI

Система свободно распространяема (в т.ч. в исходных кодах) и не имеет каких-либо лицензионных ограничений.

Возможности системы:

Работа с SQL серверами:
FireBird через IBX (модифицированная версия, работающая как FIBPlus через раздельные транзакции)
MySQL, PostgreSQL и др через ZEOS.
Протоколы HTTP, FTP, SMTP, POP3, IMAP (с поддержкой SSL/TLS) - через Synapse.
Работа с XML. Запись XML только в кодировке UTF-8, чтение UTF-8, cp1251, 866.
Работа с DBF через модифицированную компоненту TxDBF (поддерживает кодировки cp1251 и 866).
Запаковка, распаковка архивов (TxZipper, TxUnzipper)
Есть встроенная компонента для работы с некоторыми ККМ Атол через COM порт и компоненты облегчающая работу со сканером штрих-кода, работающего в разрыв клавиатуры (обе компоненты пока на стадии тестирования) .
Генератор отчетов - LazReport.
Под Windows поддерживается OLE. (Не знаю как сейчас, но раньше в Lazarus объект через CreateOLEObject создавался, но при обращениям к свойством и методам все спотыкалось). Я "запилил" поддержку IDispatch в сам интерпретатор. Поэтому проблем с OLE, лично у меня, ни каких нет.

Используются только свободные компоненты.

Разработанное приложение обычно размещаю на ftp, откуда его пользователя запускают, ос пользователя, значения не имеет. После внесения изменений, достаточно обновить приложение на ftp, не надо бегать по рабочим местам, переустанавливая новую версию. Для обновления движка, можно так-же сделать инструкции в менеджере приложений.

Обкатывал систему DieselPascal+IBX+FireBird более чем полгода на Win и Linux. Приложение выполняется отлично, не было замечено сбоев или падений. По поводу дизайнера - там некоторые нюансы есть, но все более чем работоспособно как на Win так и на Linux.

Систему можно рассматривать как дополнение к Lazarus и она может быть интересна энтузиастам, использующим Lazarus, либо дельфистам, которые хотят сэкономить и перейти на Lazarus, либо другим заинтересованным людям, желающим перейти на свободное ПО. Кроме этого, в процессе работы над системой возникли различные компоненты Lazarus, которые могут быть полезны.
Лично я имею лицензии на Delphi до XE включительно, но с появлением Win-8 и Delphi XE2, в котором кросс-платформенность появилась не в том виде как я ожидал, решил что пора валить на Linux и Lazarus, а следом и контору перевел на свободное ПО, чему весьма рад и Вам желаю..

Linux




Windows 10
Rik вне форума Ответить с цитированием
Старый 13.11.2014, 17:41   #79
AndreyNM
Пользователь
 
Регистрация: 13.11.2014
Сообщений: 17
По умолчанию Наследование форм и фреймов

Добрый день!
Давно слежу за вашим проектом - здорово что вы его не бросаете и продолжаете развивать. Думаю что многие программисты говорят вам спасибо.
Но мне очень не хватает в вашем проекте наследования форм и ещё больше наследования фреймов для унификации внешнего вида и поведения.
Скажите, есть смысл ждать чего-то подобного или это в вашем проекте технически нереализуемо?
Спасибо!
AndreyNM вне форума Ответить с цитированием
Старый 13.11.2014, 18:49   #80
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Сообщений: 361
По умолчанию

AndreyNM

К сожалению, реализовать визуальное наследование технически довольно сложно, я не думаю, что это совсем невозможно, но тем не менее, в ближайшее время таких планов нет, только в очень далекой перспективе (я слышал об этом пожелании очень давно, годы идут, а это так планами к сожалению и остается, в ресурсах я ограничен, нет возможности все время заниматься проектом).
ps:
Идеи появились на этот счет, как раз во фреймах реализовать будет проще, фрэйм уже немного модифицированный используется, чтобы его в DesignTime использовать можно было. Попробую его ещё модифицировать. В новый год (или ближе к нему) попробую, но если задумка с первого раза не удастся, придется отложить на неопределенное время...

Последний раз редактировалось Rik; 14.11.2014 в 05:07.
Rik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что же я написал? Sibedir Свободное общение 26 04.10.2010 05:01
Я написал текстовую игру... saggy Софт 11 05.06.2010 22:32
Написал редактор карт sasha1993 Gamedev - cоздание игр: Unity, OpenGL, DirectX 8 18.07.2009 21:31
Написал прогу в паскале... deu4er Помощь студентам 2 19.11.2008 20:08
Написал бэкдор, оцените KORN Софт 7 18.11.2007 08:55