fpGUI + база даных

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

fpGUI + база даных

Сообщение virus_hm » 20.01.2010 16:40:09

Для уменьшения размера програмы и одинакового вида в разных системах, решил писать програму с графической либой fpGUI.
Для соединения с базой использую zeoslib.
Код: Выделить всё
zCMain:=TZConnection.Create(self);
zQMain:=TZQuery.Create(self);
zQMain.Connection:=zCMain;
DBase:='/opt/firebird/'+DBaseName;
zCMain.Database:=DBase;
zCMain.User:='SYSDBA';
zCMain.Password:='masterkey';
zCMain.Protocol:='firebird-2.0';
zQMain.Connection:=zCMain;
try
    zCMain.Connected:=true;
except
          on E: Exception do begin
              TfpgMessageDialog.Critical('ПОМИЛКА', E.Message+' Неожливо з"єднатись з базою даних. Робота програми закінчена', [mbOK], mbOK);
              fpgApplication.Terminated:=true;
              exit;
         end;
end;

Если запускать програму для отладки из лазаруса программа виснет на zCMain.Connected:=true, если запустить просто из системы, уже скоплированую копию, все работает нормлально. При использовании TIBConnection таже ситуация.
Подскажите в чем может быть проблема.
virus_hm
новенький
 
Сообщения: 22
Зарегистрирован: 19.09.2009 23:52:40

Re: fpGUI + база даных

Сообщение Mr.Smart » 20.01.2010 22:31:13

Подводных каменей не видно, но на данном форуме вряд ли найдётся человек, который серьёзно использовал fpGUI. Так что вы возможно первый...
Mr.Smart
долгожитель
 
Сообщения: 1796
Зарегистрирован: 29.03.2008 01:01:11
Откуда: из леса!

Re: fpGUI + база даных

Сообщение virus_hm » 21.01.2010 00:48:30

А зря, очень хорошая идея и простая реализация, правда есть некоторые недоработки(
virus_hm
новенький
 
Сообщения: 22
Зарегистрирован: 19.09.2009 23:52:40

Re: fpGUI + база даных

Сообщение VirtUX » 04.05.2010 13:49:42

Как собрать Lazarus на fpGUI? Откуда качать исходники виджета?
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: fpGUI + база даных

Сообщение alaken » 04.05.2010 14:41:38

alaken
постоялец
 
Сообщения: 221
Зарегистрирован: 18.02.2010 09:02:13

Re: fpGUI + база даных

Сообщение VirtUX » 04.05.2010 14:52:42

При попытке собрать Lazarus с fpGUI:
Код: Выделить всё
...lazarus/lcl/interfaces/fpgui/fpguiwsprivate.pp(1142,19) Error: Incompatible types: got "TfpgModalResult" expected "LongInt"

fpGUI 0.7 RC2
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: fpGUI + база даных

Сообщение Little_Roo » 04.05.2010 16:20:16

virus_hm писал(а):А зря, очень хорошая идея и простая реализация, правда есть некоторые недоработки(

А какая верся ZEOS ?
У меня при использовании 6-х версий - которые даже стабле - память ТАК :( текла, что компиляция проекта занимала 3-6 минут
Перешел на 7-альфа - полет нормальный
Аватара пользователя
Little_Roo
энтузиаст
 
Сообщения: 639
Зарегистрирован: 27.02.2009 19:56:36
Откуда: Санкт-Петербург

Re: fpGUI + база даных

Сообщение VirtUX » 04.05.2010 16:42:01

Вот вывод при сборке из командной строки:
Код: Выделить всё
bash-4.0$ make bigide LCL_PLATFORM=fpgui

Код: Выделить всё
Compiling fpguiwsprivate.pp
fpguiwsprivate.pp(370,17) Warning: An inherited method is hidden by "constructor TFPGUIPrivatePopUpMenu.Create(TPopupMenu,TMenuItem);"
fpguiwsprivate.pp(1142,19) Error: Incompatible types: got "TfpgModalResult" expected "LongInt"
fpguiwsprivate.pp(1159,33) Error: Incompatible types: got "TfpgModalResult" expected "LongInt"
fpguiwsprivate.pp(1242) Fatal: There were 2 errors compiling module, stopping
Fatal: Compilation aborted
make[3]: *** [interfaces.ppu] Ошибка 1
make[3]: Leaving directory `/home/afine/Develop/tools/lazarus/lcl/interfaces/fpgui'
make[2]: *** [fpgui_all] Ошибка 2
make[2]: Leaving directory `/home/afine/Develop/tools/lazarus/lcl/interfaces'
make[1]: *** [interfaces] Ошибка 2
make[1]: Leaving directory `/home/afine/Develop/tools/lazarus/lcl'
make: *** [lcl] Ошибка 2

Первая ошибка в этом месте fpguiwsprivate.pp(1142,19)
Код: Выделить всё
function TFPGUIPrivateCommonDialog.InternalShowDialog: Boolean;
begin
  Result := Dialog.ShowModal = 1;
end; 

Вторая тоже с диалогом fpguiwsprivate.pp(1159,33)
Код: Выделить всё
function TFPGUIPrivateCommonDialog.ShowDialog: Boolean;
begin
  UpdatePropsBefore;
  Result := InternalShowDialog;
  LCLDialog.UserChoice := Dialog.ModalResult; //Ошибка здесь
  UpdatePropsAfter;
end;   
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: fpGUI + база даных

Сообщение Odyssey » 05.05.2010 02:42:27

VirtUX писал(а):При попытке собрать Lazarus с fpGUI

Виджетсет LCL-fpGUI пока не способен отобразить Lazarus IDE. Он находится в очень раннем состоянии разработки, работают только формы/кнопки/лэйблы, возможно ещё пара виджетов. Сейчас единственный способ писать под fpGUI - на чистом fpGUI, примеры идут в комплекте.

virus_hm писал(а):Если запускать програму для отладки из лазаруса программа виснет на zCMain.Connected:=true, если запустить просто из системы, уже скоплированую копию, все работает нормлально. При использовании TIBConnection таже ситуация.
Подскажите в чем может быть проблема.

Это сложно. Из того что приходит в голову:
Код: Выделить всё
zCMain:=TZConnection.Create(self);
zQMain:=TZQuery.Create(self);

Если self - это форма, то учтите что формы в чистом fpGUI отличаются от таковых в LCL, поэтому если компоненты Zeos пытаются их как-то использовать, то могут обломаться. Хотя тогда непонятно почему работает без отладчика. Я бы попробовал локализовать проблему так: вынес бы весь код в отдельный модуль (создавая компоненты через Create(nil)), заюзал бы его из чистого LCL[-Win32/QT/GTK] проекта, и из fpGUI проекта и посмотрел бы на различия.
Odyssey
энтузиаст
 
Сообщения: 580
Зарегистрирован: 29.11.2007 17:32:24

Re: fpGUI + база даных

Сообщение debi12345 » 05.05.2010 10:54:41

ПОМИЛКА', E.Message+' НеМожливо з"єднатись з базою даних. Робота програми закінчена'

Вау ! Немного оффтоп. А что, на многонациональной Украине директивно используют не международный язык, а язык одной национальности ? Как быть, если операторша программы - татарка или русская ? Заставлять учить есть, мягко горя - неуважение. Почему спрашиваю - у нас русско-язычных только 5% (в отличие от украинских 80%), и то софтины выпускаются на русском :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: fpGUI + база даных

Сообщение Vadim » 05.05.2010 12:45:57

debi12345
Вообще-то все русские (или очень многие :) ), кто живёт в Украине, без проблем понимают мову. По крайней мере я ни разу не сталкивался с совершенно непонимающими. :)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: fpGUI + база даных

Сообщение debi12345 » 05.05.2010 13:41:38

кто живёт в Украине, без проблем понимают мову ================= если в школе учили нормально, или говорит на псевдо-мове некто типа Яценюка :) А иначе - помилка, 5 км/год, парасоль, выбух, вплыв,праця,будынок,мрия,хмари,опади,черга,мисто,майбуття и прочие "воны радылись бильше як дви годыны" (они совещались больше 2-х часов). На западной Украине где такая пуристская речь есть норма, русско-говорящий чувствует себя плане общения как в аду :)
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: fpGUI + база даных

Сообщение VirtUX » 06.05.2010 09:59:59

Ну... и я волью ложку оффтопа (раз уж fpGUI все-равно еще не доработан). Нет на нашей ридний Украине национального языка, так как украинского языка ВАЩЕ в природе не существует и на нем ни кто не говорит. Все наречия (или временно принятые правила за основу) слышимые с экранов телевизора - либо вызубренный в ВУЗе "деловой украинский", либо специфичность произношения "некоего славянского языка" в определенной области страны (государством назвать язык не поворачивается). В моем регионе, Крым, преобладает русское произношение, хотя многие могут понимать некоторые и другие произношения.
Был случай. Летом в магазине два человека пытались купить пиво. Говорили они с продавщицей на своем (вроде как западном) диалекте. Она их никак не могла понять, пока я ей не подсказал на нашем диалекте, что им надо. Они очень удивились, что в Крыму не понимают их украинский язык. Честно говоря, их язык от (принятого на сегодня) украинского тоже очень сильно отличался.
Вот так и живем доказывая друг-другу чые мовлення гарнише, а чье файнише или моть краше :)
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

Re: fpGUI + база даных

Сообщение debi12345 » 06.05.2010 12:40:27

Был случай. Летом в магазине два человека пытались купить пиво. Говорили они с продавщицей на своем (вроде как западном) диалекте. Она их никак не могла понять, пока я ей не подсказал на нашем диалекте, что им надо. Они очень удивились, что в Крыму не понимают их украинский язык. Честно говоря, их язык от (принятого на сегодня) украинского тоже очень сильно отличался.

Эти истории с пивом уже вошли в народный фольклор. Первая была кажется "Пэтро! Ты знаеш як кляты москали называют наше пЫво ? ПИво! Да ты що ? Во гады.."
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: fpGUI + база даных

Сообщение VirtUX » 02.09.2010 08:04:00

После пересборки IDE под fpGUI такая вот беда:
Код: Выделить всё
./startlazarus
(7830) KSharedDataCache::Private::mapSharedMemory: Opening cache "/tmp/kdecache-afine/icon-cache.kcache" page size is 4096
(7830) KSharedDataCache::Private::mapSharedMemory: Attached to cache, determining if it must be initialized
(7830) KSharedDataCache::Private::mapSharedMemory: Cache fully initialized -- attached to memory mapping
(7830) KSharedDataCache::Private::mapSharedMemory: 4009984 bytes available out of 10485760
TLazarusManager.Run starting /home/afine/Develop/ide/lazarus/lazarus ...
EnumFontFamiliesEx is not yet implemented for this widgetset
EnumFontFamiliesEx is not yet implemented for this widgetset
EnumFontFamiliesEx is not yet implemented for this widgetset
TRasterImage.BitmapHandleNeeded: Unable to create handles, using default
TCustomIcon.MaskHandleNeeded: Unable to create maskhandle
TRasterImage.BitmapHandleNeeded: Unable to create handles, using default
TCustomIcon.MaskHandleNeeded: Unable to create maskhandle
TMainIDE.ParseCmdLineOptions:
  PrimaryConfigPath="/home/afine/.lazarus"
  SecondaryConfigPath="/etc/lazarus"
Note: environment config file not found - using defaults
NOTE: editor options config file not found - using defaults
NOTE: miscellaneous options file not found - using defaults
ЗАМЕТКА: файл настроек CodeTools не найден - используем умолчания

NOTE: Compiler filename not set! (see Environment / Options ... / Environment / Files)

NOTE: FPC source directory not set! (see Environment / Options ... / Environment / Files)
TFPCTargetConfigCache.NeedsUpdate compiler file changed "/usr/bin/fpc" FileAge=1280889961 StoredAge=0
TFPCTargetConfigCache.Update /usr/bin/fpc TargetOS=linux TargetCPU=i386 CompilerOptions= ExtraOptions=
RunTool /usr/bin/fpc -iTOTP -Pi386 -Tlinux
RunTool /usr/bin/fpc -va -Pi386 -Tlinux compilertest.pas
TFPCTargetConfigCache.Update: has changed
TFPCSourceCache.Update /home/afine/Develop/ide/lazarus ...
TFPCSourceCache.Update /home/afine/Develop/ide/lazarus has changed.
TFPCDefinesCache.SaveToXMLConfig
TRasterImage.BitmapHandleNeeded: Unable to create handles, using default
TCustomIcon.MaskHandleNeeded: Unable to create maskhandle
TRasterImage.BitmapHandleNeeded: Unable to create handles, using default
TCustomIcon.MaskHandleNeeded: Unable to create maskhandle
TRasterImage.BitmapHandleNeeded: Unable to create handles, using default
[TMainIDE.Destroy] A
[TMainIDE.Destroy] B  -> inherited Destroy... TMainIDE
[TMainIDE.Destroy] END
[FORMS.PP] ExceptionOccurred
  Sender=EAccessViolation
  Exception=Access violation
  Stack trace:
  $B66E6D7F
  $0833C825
  $080C0493
  $080C0796
  $0808BFA4
  $0808BBEF
  $080881FA
  $0804A52A
TApplication.HandleException Access violation
  Stack trace:
  $B66E6D7F
  $0833C825
  $080C0493
  $080C0796
  $0808BFA4
  $0808BBEF
  $080881FA
  $0804A52A
[FORMS.PP] ExceptionOccurred
[FORMS.PP] ExceptionOccurred
[FORMS.PP] ExceptionOccurred

и не стартует :( куда копать?
==================
Lazarus 0.9.29, fpGUI 0.7 с отсюда.
Аватара пользователя
VirtUX
энтузиаст
 
Сообщения: 880
Зарегистрирован: 05.02.2008 10:52:19
Откуда: Крым, Алушта

След.

Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16

Рейтинг@Mail.ru