Вот код, он генерируется с ОДНОГО "квадрата на модели":
А генерируется он так:
-- по-моему - всё понятно.
program SearchTest; uses ... ; {$R SearchTest.res} begin {$IfDef nsTest} g_CVSPath := 'w:common\components\SearchTest'; {$EndIf nsTest} //#UC START# *511B4CA100B2CVSPath* //#UC END# *511B4CA100B2CVSPath* TAutoTestsSuite.Register; try if KTestRunner.NeedKTestRunner([TToK]) then KTestRunner.RunRegisteredTests else if System.IsConsole then TextTestRunner.RunRegisteredTests else GUITestRunner.RunRegisteredTests; except on E: Exception do begin {$If defined(MTDORB) AND defined(NoKPageTool)} if TKBridge.Exists then TKBridge.Instance.Logout; {$IfEnd} l3System.Exception2Log(E); Halt(2); end;//Exception end;//try..except if (TestsExitCode <> 0) then Halt(TestsExitCode); end.
А генерируется он так:
// реализация абстрактного стереотипа Delphi интерфейсы и реализация::MDAGenerator // Реализация на Delphi(.pas) + impl.pas R //#UC START# *470F15B800CBfor470382290251* //#UC END# *470F15B800CBfor470382290251* // реализация абстрактного стереотипа Delphi интерфейсы и реализация::MDAGenerator // Родные Delphi интерфейсы (.pas) + intf.pas R //#UC START# *470F1571031Cfor470382290251* O [{"%f_pas_UnitFileName(%S)"!=""}[{%S{finished}!=true}NOT_FINISHED_]%f_pas_UnitFileName(%S)] C %S%f_pas_UnitPath() %f_clear_list(TOTAL_USES) %f_pas_OpenUnitInterface(%S) [{%S{console}=true} {$APPTYPE CONSOLE} ] [{%SS=VCMTestTarget} <{}{%D#f_IsVCMGUI()=true} %D%f_OutExtIntfUses() %f_cycle_break(%S) > ] %S%f_pas_TotalUses() [{%S{need UC in project}=true} n%U[{manualuses}n] ] %f_pas_CloseUses(%S) %f_clear_TotalUses(%S) [{%S{console}!=true} {$R [{%S{finished}!=true}NOT_FINISHED_]%f_pas_UnitName(%S).res} [{%S{needs second icon}=true}n{$R main_icon2.res} // вторая иконка приложения] ] [{%S{need UC in project}=true} %U[{manualres}n]n ] begin [{%S%f_IsTest()=true}{ %U[{manualcode}n ] } {$IfDef nsTest} g_CVSPath := '%f_str_replace(%SR%Sd,/,\)'; {$EndIf nsTest} %U[{CVSPath}n ] [{%S{need UC in project}=true}{ [{%SS=VCMTestTarget}{ [{%S{no scripts}!=true} TAutoTestsSuite.Register;\n ] try if KTestRunner.NeedKTestRunner ([<{, }{%C#f_IsTestResults()=true}%f_pas_TypeName(%C)>]) then KTestRunner.RunRegisteredTests else if System.IsConsole then TextTestRunner.RunRegisteredTests else GUITestRunner.RunRegisteredTests; except on E: Exception do begin {$If defined(MTDORB) AND defined(NoKPageTool)} if TKBridge.Exists then TKBridge.Instance.Logout; {$IfEnd} l3System.Exception2Log(E); Halt(2); end;//Exception end;//try..except if (TestsExitCode <> 0) then Halt(TestsExitCode); } TF1AutoTestSuite.Register; <{}{%D#f_IsVCMGUI()=true} %D%f_OutApplicationBody() %f_cycle_break(%S) > ] } %U[{manualcode}n ] ] ] %f_pas_CloseUnit(%S) <{}{%CV!=PrivateAccess&%C#f_IsClassInner()!=true&"%CO"!=""}%CX> //#UC END# *470F1571031Cfor470382290251*
-- по-моему - всё понятно.
Комментариев нет:
Отправить комментарий