Вопросы по компиляции SAS

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Вопросы по компиляции SAS

Сообщение zed » 27 сен 2011, 18:47

Ввиду того, что с сегодняшнего дня САС стал открытым проектом (да, опять :)), у желающих скомпилировать исходники наверняка появятся вопросы. Вот тут их и предлагаю решать.

Ну и линки:
- исходники: https://bitbucket.org/sas_team/sas.planet.src
- компоненты: https://bitbucket.org/sas_team/sas.requires
- исходники библиотек: https://bitbucket.org/sas_team/sas.lib.external

Рекомендуемый компилятор - XE2

Новичкам в помощь: Образ виртуальной машины с настроенной средой для разработки SAS.Planet
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Вопросы по компиляции SAS

Сообщение garl » 28 сен 2011, 14:32

Код: Выделить всё
2. В IDE прописываем пути ко всем компонентам:

это tools-Options-Delphi Options-Library win32-Library path?

Код: Выделить всё
3. Устанавливаем (Install) в следующем порядке:
- EmbeddedWB\Packages\EmbeddedWebBrowser_D2007.dpk
- graphics32\Source\Packages\GR32_DSGN_RS2007.dpk
- tb2k\Packages\tb2kdsgn_d11.dpk
- tbx\Packages\tbxdsgn_d11.dpk

что значит install? можно так же на пальцах? для тек кто делфи 4 последний раз щупал ...
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1621
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 96 раз.
Поблагодарили: 241 раз.

Re: Вопросы по компиляции SAS

Сообщение vdemidov » 28 сен 2011, 14:51

garl писал(а):что значит install? можно так же на пальцах? для тек кто делфи 4 последний раз щупал ...

То и значит. Открываем dpk двойным кликом по нему, а потом нажимаем в появившемся окне кнопочку Install
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1685
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 135 раз.

Re: Вопросы по компиляции SAS

Сообщение zed » 28 сен 2011, 14:57

garl писал(а):это tools-Options-Delphi Options-Library win32-Library path?

Именно.
garl писал(а):что значит install? можно так же на пальцах?

- Открываем один из указанных проектов (*.dpk)
- В окошке Project Manager'а кликаем правой кнопкой мыши по пакету
- В выпадающем меню жмём на пункт Install
- Компонент скомпилируется и установится
- Закрываем проект (File-Close All), отказываясь от сохранения изменений и открываем следующий проект.

Image 2.gif

P.S. И ещё рекомендую поставить визард CnPack или что-то похожее, дабы легче было читать код.
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Вопросы по компиляции SAS

Сообщение garl » 28 сен 2011, 17:37

First chance exception at $75C99617. Exception class EOSError with message 'System Error. Code: 126.
Не найден указанный модуль'. Process SASPlanet.exe (1868)
куда класть vcl100.bpl?
скрытый текст: показать
Код: Выделить всё
[2013E1B6]{vcl100.bpl  } Controls.TWinControl.CreateWindowHandle (Line 6778, "Controls.pas" + 1) + $0
[2013901F]{vcl100.bpl  } Controls.TControl.SetLeft (Line 3864, "Controls.pas" + 1) + $F
[2015DBA8]{vcl100.bpl  } Forms.TCustomForm.SetLeft (Line 6146, "Forms.pas" + 6) + $0
[201573AC]{vcl100.bpl  } Forms.TCustomForm.CreateNew (Line 2879, "Forms.pas" + 5) + $4
[20157201]{vcl100.bpl  } Forms.TCustomForm.Create (Line 2846, "Forms.pas" + 3) + $B
[208CD2BC]{dbkdebugide100.bpl} Debug.TProcess.GetBytes (Line 7826, "Debug.pas" + 2) + $13
[20003DC4]{rtl100.bpl  } [email protected] (Line 2699, "sys\system.pas" + 2) + $0
[200079F0]{rtl100.bpl  } [email protected] (Line 12226, "sys\system.pas" + 11) + $0
[20007AE7]{rtl100.bpl  } [email protected] (Line 12476, "sys\system.pas" + 27) + $0
[21B73BAB]{win32debugide100.bpl} Win32Debug.TWin32Thread.ReadLString (Line 867, "Win32Debug.pas" + 11) + $9
[21B73F84]{win32debugide100.bpl} Win32Debug.TWin32Thread.DoGetExceptionMessage (Line 969, "Win32Debug.pas" + 35) + $13
[21B73FE1]{win32debugide100.bpl} Win32Debug.TWin32Thread.DoGetExceptionMessage (Line 994, "Win32Debug.pas" + 60) + $26
[208DD30D]{dbkdebugide100.bpl} ExceptionNotificationDialog.ReportExceptionNotification (Line 47, "ExceptionNotificationDialog.pas" + 1) + $F
[20011546]{rtl100.bpl  } SysUtils.Format (Line 8164, "sys\sysutils.pas" + 1) + $7
[21B72F22]{win32debugide100.bpl} Win32Debug.TWin32Debugger.DoShowException (Line 479, "Win32Debug.pas" + 66) + $70
[208D4856]{dbkdebugide100.bpl} Debug.TDebugger.ShowException (Line 11254, "Debug.pas" + 0) + $2
[20A5423E]{coreide100.bpl} DebuggerMgr.TDebuggerMgr.ShowException (Line 1509, "DebuggerMgr.pas" + 3) + $F
[004177A7]{bds.exe     } AppMain.TAppBuilder.ProcessException (Line 3470, "ui\AppMain.pas" + 8) + $7
[20A54FF3]{coreide100.bpl} DebuggerMgr.TDebuggerMgr.ProcessStateChanged (Line 1886, "DebuggerMgr.pas" + 7) + $11
[208D1006]{dbkdebugide100.bpl} Debug.TDebugger.DoNotifyProcessStateChanged (Line 9851, "Debug.pas" + 2) + $18
[20D743E1]{designide100.bpl} ToolUtils.ForEach (Line 90, "ToolUtils.pas" + 5) + $F
[208D0F66]{dbkdebugide100.bpl} Debug.TDebugger.NotifyProcessStateChanged (Line 9843, "Debug.pas" + 28) + $22
[208CE092]{dbkdebugide100.bpl} Debug.TProcess.SetProcessState (Line 8445, "Debug.pas" + 4) + $A
[21B742F9]{win32debugide100.bpl} Win32Debug.TWin32Thread.DoHandleStopOnFirstChanceException (Line 1096, "Win32Debug.pas" + 26) + $2
[208C9758]{dbkdebugide100.bpl} Debug.TThread.ntfyThread (Line 5959, "Debug.pas" + 152) + $5
[20031FC4]{rtl100.bpl  } Classes.TThreadList.UnlockList (Line 3359, "common\Classes.pas" + 0) + $4
[200EBA24]{vcl100.bpl  } Graphics.FreeMemoryContexts (Line 5031, "Graphics.pas" + 12) + $5
[2003FBDD]{rtl100.bpl  } Classes.TComponent.UpdateAction (Line 10761, "common\Classes.pas" + 1) + $6
[2015D6D9]{vcl100.bpl  } Forms.TraverseClients (Line 5964, "Forms.pas" + 2) + $3
[2003FBDD]{rtl100.bpl  } Classes.TComponent.UpdateAction (Line 10761, "common\Classes.pas" + 1) + $6
[2015D6D9]{vcl100.bpl  } Forms.TraverseClients (Line 5964, "Forms.pas" + 2) + $3
[2015D721]{vcl100.bpl  } Forms.TraverseClients (Line 5967, "Forms.pas" + 5) + $2D
[2003FBDD]{rtl100.bpl  } Classes.TComponent.UpdateAction (Line 10761, "common\Classes.pas" + 1) + $6
[2015D6D9]{vcl100.bpl  } Forms.TraverseClients (Line 5964, "Forms.pas" + 2) + $3
[2015D721]{vcl100.bpl  } Forms.TraverseClients (Line 5967, "Forms.pas" + 5) + $2D
[2003FBDD]{rtl100.bpl  } Classes.TComponent.UpdateAction (Line 10761, "common\Classes.pas" + 1) + $6
[2015D6AA]{vcl100.bpl  } Forms.ProcessUpdate (Line 5954, "Forms.pas" + 1) + $13
[20006936]{rtl100.bpl  } [email protected] (Line 9077, "sys\system.pas" + 1) + $8
[2015D712]{vcl100.bpl  } Forms.TraverseClients (Line 5967, "Forms.pas" + 5) + $1E
[2015D721]{vcl100.bpl  } Forms.TraverseClients (Line 5967, "Forms.pas" + 5) + $2D
[2015D776]{vcl100.bpl  } Forms.TCustomForm.CMActionUpdate (Line 5980, "Forms.pas" + 3) + $21
[2013B20B]{vcl100.bpl  } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[2013F38A]{vcl100.bpl  } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[20158AA3]{vcl100.bpl  } Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
[20D69752]{designide100.bpl} DeskUtil.SetFocusHook (Line 435, "DeskUtil.pas" + 4) + $C
[2013AE98]{vcl100.bpl  } Controls.TControl.Perform (Line 5021, "Controls.pas" + 5) + $C
[2013F38A]{vcl100.bpl  } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[20006936]{rtl100.bpl  } [email protected] (Line 9077, "sys\system.pas" + 1) + $8
[20162D00]{vcl100.bpl  } Forms.TApplication.DispatchAction (Line 9016, "Forms.pas" + 6) + $F
[20158AA3]{vcl100.bpl  } Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
[20D69752]{designide100.bpl} DeskUtil.SetFocusHook (Line 435, "DeskUtil.pas" + 4) + $C
[2013AE98]{vcl100.bpl  } Controls.TControl.Perform (Line 5021, "Controls.pas" + 5) + $C
[20162D25]{vcl100.bpl  } Forms.TApplication.DispatchAction (Line 9019, "Forms.pas" + 9) + $A
[2016078C]{vcl100.bpl  } Forms.TApplication.WndProc (Line 7766, "Forms.pas" + 80) + $E
[20040DD4]{rtl100.bpl  } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[208D51D9]{dbkdebugide100.bpl} Debug.TDebugger.DBKWndProc (Line 11426, "Debug.pas" + 3) + $1F
[20040DD4]{rtl100.bpl  } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[201611EC]{vcl100.bpl  } Forms.TApplication.ProcessMessage (Line 8102, "Forms.pas" + 23) + $1
[20161226]{vcl100.bpl  } Forms.TApplication.HandleMessage (Line 8121, "Forms.pas" + 1) + $4
[20161537]{vcl100.bpl  } Forms.TApplication.Run (Line 8219, "Forms.pas" + 20) + $3
[0042298E]{bds.exe     } bds.bds (Line 196, "" + 7) + $7
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1621
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 96 раз.
Поблагодарили: 241 раз.

Re: Вопросы по компиляции SAS

Сообщение zed » 28 сен 2011, 17:41

c:\Program Files\Delphi_2007_Lite\Bin\vcl100.bpl

Делфя криво установлена или что?
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Вопросы по компиляции SAS

Сообщение garl » 28 сен 2011, 18:20

ага, переустановил Delphi всё собралось...
пока всё по плану - как и положено со второго раза заработало :)
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1621
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 96 раз.
Поблагодарили: 241 раз.

Re: Вопросы по компиляции SAS

Сообщение vasketsov » 28 сен 2011, 18:34

собралось вот так:
[DCC Warning] frm_ShortCutEdit.pas(70): W1035 Return value of function 'TfrmShortCutEdit.EditHotKeyModal' might be undefined
[DCC Warning] fr_MarkCategorySelectOrAdd.pas(30): W1010 Method 'Create' hides virtual method of base type 'TCommonFrameParent'
сразу же предложение - не допускать никаких варнингов, с варнингами в репо не лить.
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 193 раз.

Re: Вопросы по компиляции SAS

Сообщение zed » 28 сен 2011, 18:50

Ага, это свежачки от vdemidov'а, он обычно их потом подчищает.
С предложением согласен, особенно если это будут реквесты на слияние. Код должен быть чистым.

И ещё, наверное, надо обговорить стиль программирования и форматирования кода. Нужно придерживаться существующего варианта: переменные с приставкой V (VCount), аргументы функций с приставкой A (AParam) и всё в таком же духе. Бегин и енды в одну строчку писать:
Код: Выделить всё
if .. then begin
...
else begin
..
end;
Хитрости GoogleEarth - то, чего вы не знаете о гугле
Аватара пользователя
zed
Гуру
 
Сообщения: 2888
ICQ: 357167611
Зарегистрирован: 16 авг 2008, 20:21
Откуда: Беларусь, Могилёв
Благодарил (а): 89 раз.
Поблагодарили: 525 раз.

Re: Вопросы по компиляции SAS

Сообщение vasketsov » 28 сен 2011, 19:31

ещё на будущее - не забывайте писать хотя бы минимальные комментарии в коде
смотрю и офигеваю
vasketsov
Специалист
 
Сообщения: 901
Зарегистрирован: 25 июл 2009, 21:15
Благодарил (а): 0 раз.
Поблагодарили: 193 раз.

Re: Вопросы по компиляции SAS

Сообщение Tolik » 28 сен 2011, 21:05

vasketsov писал(а):ещё на будущее - не забывайте писать хотя бы минимальные комментарии в коде
смотрю и офигеваю

Да! И чем больше, тем лучше!
Это ж так просто - написать комментарий, и так трудно потом вспомнить, зачем эта строчка :)
Tolik
Гуру
 
Сообщения: 2536
Зарегистрирован: 28 янв 2011, 10:38
Благодарил (а): 235 раз.
Поблагодарили: 491 раз.

Пред.След.

Вернуться в Раздел для разработчиков программы SAS.Планета

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

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