diff --git a/Build/Build.proj b/Build/Build.proj new file mode 100644 index 0000000..e29fb01 --- /dev/null +++ b/Build/Build.proj @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/Build/Build.properties b/Build/Build.properties new file mode 100644 index 0000000..cd11811 --- /dev/null +++ b/Build/Build.properties @@ -0,0 +1,9 @@ + + + + $(MSBuildProjectDirectory)\.. + $(BaseFolder)\Source + $(BaseFolder)\Packages + $(BaseFolder)\Lib\$(DelphiVersion) + + diff --git a/Build/PluginSDK_D.proj b/Build/PluginSDK_D.proj new file mode 100644 index 0000000..5d263f8 --- /dev/null +++ b/Build/PluginSDK_D.proj @@ -0,0 +1,42 @@ + + + + + + + + Release + AnyCPU + $(OutputFolder)\PluginSDK_$(DelphiVersion)D.bpl + + + + + + + + + False + False + 0 + 0 + $(OutputFolder) + $(OutputFolder) + $(OutputFolder) + $(OutputFolder) + $(OutputFolder);$(SourceFolder) + $(OutputFolder) + $(OutputFolder) + $(OutputFolder) + False + RELEASE + + + + + + + + + + \ No newline at end of file diff --git a/Build/PluginSDK_R.proj b/Build/PluginSDK_R.proj new file mode 100644 index 0000000..c09649e --- /dev/null +++ b/Build/PluginSDK_R.proj @@ -0,0 +1,41 @@ + + + + + + + + Release + AnyCPU + $(OutputFolder)\PluginSDK_$(DelphiVersion)R.bpl + + + + + + + + + False + False + 0 + 0 + $(OutputFolder) + $(OutputFolder) + $(OutputFolder) + $(OutputFolder) + $(OutputFolder);$(SourceFolder) + $(OutputFolder) + $(OutputFolder) + $(OutputFolder) + False + RELEASE + + + + + + + + + \ No newline at end of file diff --git a/Packages/PluginSDK.inc b/Packages/PluginSDK.inc new file mode 100644 index 0000000..9cc223d --- /dev/null +++ b/Packages/PluginSDK.inc @@ -0,0 +1,114 @@ + { defines for Delphi 1.0 } + {$IFDEF VER80} + {$DEFINE DELPHI} + {$DEFINE DELPHI1} + {$DEFINE DELPHI1UP} + {$ENDIF} + + { defines for Delphi 2.0 } + {$IFDEF VER90} + {$DEFINE DELPHI} + {$DEFINE DELPHI2} + {$DEFINE DELPHI1UP} + {$DEFINE DELPHI2UP} + {$ENDIF} + + { defines for Delphi 3.0 } + {$IFDEF VER100} + {$DEFINE DELPHI} + {$DEFINE DELPHI3} + {$DEFINE DELPHI1UP} + {$DEFINE DELPHI2UP} + {$DEFINE DELPHI3UP} + {$ENDIF} + + { defines for Delphi 4.0 } + {$IFDEF VER120} + {$DEFINE DELPHI} + {$DEFINE DELPHI4} + {$DEFINE DELPHI1UP} + {$DEFINE DELPHI2UP} + {$DEFINE DELPHI3UP} + {$DEFINE DELPHI4UP} + {$ENDIF} + + { defines for Delphi 5.0 } + {$IFDEF VER130} + {$DEFINE DELPHI} + {$DEFINE DELPHI5} + {$DEFINE DELPHI1UP} + {$DEFINE DELPHI2UP} + {$DEFINE DELPHI3UP} + {$DEFINE DELPHI4UP} + {$DEFINE DELPHI5UP} + {$ENDIF} + + { defines for Delphi 6.0 } + {$IFDEF VER140} + {$DEFINE VER140UP} + {$DEFINE DELPHI} + {$DEFINE DELPHI6} + {$DEFINE DELPHI1UP} + {$DEFINE DELPHI2UP} + {$DEFINE DELPHI3UP} + {$DEFINE DELPHI4UP} + {$DEFINE DELPHI5UP} + {$DEFINE DELPHI6UP} + {$ENDIF} + + { defines for Delphi 7.0 } + {$IFDEF VER150} + {$DEFINE VER140UP} + {$DEFINE DELPHI} + {$DEFINE DELPHI7} + {$DEFINE DELPHI1UP} + {$DEFINE DELPHI2UP} + {$DEFINE DELPHI3UP} + {$DEFINE DELPHI4UP} + {$DEFINE DELPHI5UP} + {$DEFINE DELPHI6UP} + {$DEFINE DELPHI7UP} + {$ENDIF} + + { defines for Delphi 2005 } + {$IFDEF VER170} + {$DEFINE VER140UP} + {$DEFINE DELPHI} + {$DEFINE DELPHI9} + {$DEFINE DELPHI2005} + {$DEFINE DELPHI1UP} + {$DEFINE DELPHI2UP} + {$DEFINE DELPHI3UP} + {$DEFINE DELPHI4UP} + {$DEFINE DELPHI5UP} + {$DEFINE DELPHI6UP} + {$DEFINE DELPHI7UP} + {$DEFINE DELPHI9UP} + {$DEFINE DELPHI2005} + {$DEFINE BDS} + {$DEFINE BDS3} + {$DEFINE BDS3UP} + {$ENDIF} + + { defines for Delphi 2006 } + {$IFDEF VER180} + {$DEFINE VER140UP} + {$DEFINE DELPHI} + {$DEFINE DELPHI9} + {$DEFINE DELPHI2005} + {$DEFINE DELPHI1UP} + {$DEFINE DELPHI2UP} + {$DEFINE DELPHI3UP} + {$DEFINE DELPHI4UP} + {$DEFINE DELPHI5UP} + {$DEFINE DELPHI6UP} + {$DEFINE DELPHI7UP} + {$DEFINE DELPHI9UP} + {$DEFINE DELPHI2005UP} + {$DEFINE DELPHI2006} + {$DEFINE BDS} + {$DEFINE BDS3} + {$DEFINE BDS4} + {$DEFINE BDS3UP} + {$ENDIF} + diff --git a/Packages/PluginSDK_D10D.bdsproj b/Packages/PluginSDK_D10D.bdsproj new file mode 100644 index 0000000..2566836 --- /dev/null +++ b/Packages/PluginSDK_D10D.bdsproj @@ -0,0 +1,505 @@ + + + + + + + + + + + + PluginSDK_D10D.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + PluginSDK for Delphi 10 (Designtime) + + + + ..\Lib\D10 + + + ..\Lib\D10 + + + + False + + + + + + False + + + True + False + + + + $00000000 + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + ExpressBars by Developer Express Inc. + ExpressCommonLibrary by Developer Express Inc. + ExpressBars DBNavigator by Developer Express Inc. + ExpressBars extended DB items by Developer Express Inc. + ExpressBars extended items by Developer Express Inc. + ExpressDocking Library by Developer Express Inc. + ExpressLayout Control by Developer Express Inc. + ExpressNavBar by Developer Express Inc. + ExpressGDI+ Library by Developer Express Inc. + ExpressPrinting System by Developer Express Inc. + ExpressSideBar by Developer Express Inc. + + + + diff --git a/Packages/PluginSDK_D10D.dpk b/Packages/PluginSDK_D10D.dpk new file mode 100644 index 0000000..80e2fd1 --- /dev/null +++ b/Packages/PluginSDK_D10D.dpk @@ -0,0 +1,40 @@ +package PluginSDK_D10D; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DESCRIPTION 'PluginSDK for Delphi 10 (Designtime)'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + designide, + vclactnband, + vclx, + vcl, + PluginSDK_D10R; + +contains + uReg in '..\Source\uReg.pas'; + +end. diff --git a/Packages/PluginSDK_D10D.drc b/Packages/PluginSDK_D10D.drc new file mode 100644 index 0000000..7642ac9 --- /dev/null +++ b/Packages/PluginSDK_D10D.drc @@ -0,0 +1,14 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +STRINGTABLE +BEGIN +END + diff --git a/Packages/PluginSDK_D10D.res b/Packages/PluginSDK_D10D.res new file mode 100644 index 0000000..86c94e6 Binary files /dev/null and b/Packages/PluginSDK_D10D.res differ diff --git a/Packages/PluginSDK_D10R.bdsproj b/Packages/PluginSDK_D10R.bdsproj new file mode 100644 index 0000000..534d88b --- /dev/null +++ b/Packages/PluginSDK_D10R.bdsproj @@ -0,0 +1,187 @@ + + + + + + + + + + + + PluginSDK_D10R.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + PluginSDK for Delphi 10 (Runtime) + + + + ..\Lib\D10 + + + ..\Lib\D10 + + + + False + + + + + + False + + + True + False + + + + $00000000 + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + ExpressBars by Developer Express Inc. + ExpressCommonLibrary by Developer Express Inc. + ExpressBars DBNavigator by Developer Express Inc. + ExpressBars extended DB items by Developer Express Inc. + ExpressBars extended items by Developer Express Inc. + ExpressDocking Library by Developer Express Inc. + ExpressLayout Control by Developer Express Inc. + ExpressNavBar by Developer Express Inc. + ExpressGDI+ Library by Developer Express Inc. + ExpressPrinting System by Developer Express Inc. + ExpressSideBar by Developer Express Inc. + + + diff --git a/Packages/PluginSDK_D10R.dpk b/Packages/PluginSDK_D10R.dpk new file mode 100644 index 0000000..7b47a32 --- /dev/null +++ b/Packages/PluginSDK_D10R.dpk @@ -0,0 +1,39 @@ +package PluginSDK_D10R; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DESCRIPTION 'PluginSDK for Delphi 10 (Runtime)'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + vcl; + +contains + uHostManager in '..\Source\uHostManager.pas', + uInterfaces in '..\Source\uInterfaces.pas', + uModuleMenu in '..\Source\uModuleMenu.pas', + uModuleController in '..\Source\uModuleController.pas' {ModuleController: TDataModule}; + +end. diff --git a/Packages/PluginSDK_D10R.drc b/Packages/PluginSDK_D10R.drc new file mode 100644 index 0000000..7642ac9 --- /dev/null +++ b/Packages/PluginSDK_D10R.drc @@ -0,0 +1,14 @@ +/* VER180 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +STRINGTABLE +BEGIN +END + diff --git a/Packages/PluginSDK_D10R.res b/Packages/PluginSDK_D10R.res new file mode 100644 index 0000000..86c94e6 Binary files /dev/null and b/Packages/PluginSDK_D10R.res differ diff --git a/Packages/PluginSDK_D2007D.dpk b/Packages/PluginSDK_D2007D.dpk new file mode 100644 index 0000000..36c3281 --- /dev/null +++ b/Packages/PluginSDK_D2007D.dpk @@ -0,0 +1,40 @@ +package PluginSDK_D2007D; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DESCRIPTION 'PluginSDK for Delphi 2007 (Designtime)'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + designide, + vclactnband, + vclx, + vcl, + PluginSDK_D10R; + +contains + uReg in '..\Source\uReg.pas'; + +end. diff --git a/Packages/PluginSDK_D2007D.res b/Packages/PluginSDK_D2007D.res new file mode 100644 index 0000000..86c94e6 Binary files /dev/null and b/Packages/PluginSDK_D2007D.res differ diff --git a/Packages/PluginSDK_D2007R.dpk b/Packages/PluginSDK_D2007R.dpk new file mode 100644 index 0000000..f2b6240 --- /dev/null +++ b/Packages/PluginSDK_D2007R.dpk @@ -0,0 +1,39 @@ +package PluginSDK_D2007R; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DESCRIPTION 'PluginSDK for Delphi 2007 (Runtime)'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + vcl; + +contains + uHostManager in '..\Source\uHostManager.pas', + uInterfaces in '..\Source\uInterfaces.pas', + uModuleMenu in '..\Source\uModuleMenu.pas', + uModuleController in '..\Source\uModuleController.pas' {ModuleController: TDataModule}; + +end. diff --git a/Packages/PluginSDK_D2007R.dproj b/Packages/PluginSDK_D2007R.dproj new file mode 100644 index 0000000..950db1e --- /dev/null +++ b/Packages/PluginSDK_D2007R.dproj @@ -0,0 +1,84 @@ + + + {545345d0-d90f-4976-a800-ff87ad6947d2} + PluginSDK_D2007R.dpk + Debug + AnyCPU + DCC32 + C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\PluginSDK_D2007R.bpl + + + 7.0 + False + False + 0 + RELEASE + + + 7.0 + 0 + DEBUG + + + Delphi.Personality + Package + + + False + True + False + + + PluginSDK for Delphi 2007 (Runtime) + False + False + True + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + PluginSDK_D2007R.dpk + + + + + + + MainSource + + + + +
ModuleController
+
+ + + +
+ +
\ No newline at end of file diff --git a/Packages/PluginSDK_D2007R.res b/Packages/PluginSDK_D2007R.res new file mode 100644 index 0000000..86c94e6 Binary files /dev/null and b/Packages/PluginSDK_D2007R.res differ diff --git a/Packages/PluginSDK_D7D.dof b/Packages/PluginSDK_D7D.dof new file mode 100644 index 0000000..664bdc8 --- /dev/null +++ b/Packages/PluginSDK_D7D.dof @@ -0,0 +1,489 @@ +[FileVersion] +Version=7.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=1 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=3 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription=PluginSDK para Delphi 7 +[Directories] +OutputDir= +UnitOutputDir=..\Lib\D7 +PackageDLLOutputDir=..\Lib\D7 +PackageDCPOutputDir=..\Lib\D7 +SearchPath=..\Lib\D7 +Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;CEToolsPkgd7;FR7;FRIBX7;Hydra_Core_D7;Hydra_RO_D7 +Conditionals= +DebugSourceDirs=..\Lib\D7 +UsePackages=0 +[Parameters] +RunParams= +HostApplication= +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\ +[Version Info] +IncludeVerInfo=1 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=3082 +CodePage=1252 +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= +[Excluded Packages] +c:\archivos de programa\borland\delphi7\Bin\designdgm70.bpl=Borland Module Diagram Editview +T:\BPL_D7\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc. +[HistoryLists\hlDebugSourcePath] +Count=1 +Item0=..\Lib\D7 +[HistoryLists\hlUnitAliases] +Count=1 +Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +[HistoryLists\hlSearchPath] +Count=8 +Item0=..\Lib\D7 +Item1=..\ +Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug +Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\ +Item4=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\;..\AppCliente +Item5=C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D7 +Item6=C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D7;C:\Archivos de programa\RemObjects Software\RemObjects SDK for Delphi\Source +Item7=http://delphi.hostmos.ru;C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D7 +[HistoryLists\hlUnitOutputDirectory] +Count=2 +Item0=..\Lib\D7 +Item1=..\ +[HistoryLists\hlOutputDirectorry] +Count=1 +Item0=..\ +[HistoryLists\hlBPLOutput] +Count=4 +Item0=..\Lib\D7 +Item1=..\ +Item2=..\Modules +Item3=..\Modules\ +[HistoryLists\hlDCPOutput] +Count=2 +Item0=..\Lib\D7 +Item1=..\ +[Exception Log] +EurekaLog Version=519 +Activate=1 +Activate Handle=1 +Save Log File=1 +Foreground Tab=0 +Freeze Activate=0 +Freeze Timeout=60 +Freeze Message=The application seems to be frozen. +SMTP From=eurekalog@email.com +SMTP Host= +SMTP Port=25 +SMTP UserID= +SMTP Password= +Append to Log=0 +Show TerminateBtn=1 +TerminateBtn Operation=1 +Errors Number=32 +Errors Terminate=3 +Email Address= +Email Object= +Email Send Options=0 +Output Path= +Encrypt Password= +AutoCloseDialogSecs=0 +WebSendMode=0 +SupportULR= +HTMLLayout Count=15 +HTMLLine0="%3Chtml%3E" +HTMLLine1=" %3Chead%3E" +HTMLLine2=" %3C/head%3E" +HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E" +HTMLLine4=" %3Ctable width="100%%" border="0"%3E" +HTMLLine5=" %3Ctr%3E" +HTMLLine6=" %3Ctd nowrap%3E" +HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E" +HTMLLine8=" %3C%%HTML_TAG%%%3E" +HTMLLine9=" %3C/font%3E" +HTMLLine10=" %3C/td%3E" +HTMLLine11=" %3C/tr%3E" +HTMLLine12=" %3C/table%3E" +HTMLLine13=" %3C/body%3E" +HTMLLine14="%3C/html%3E" +AutoCrashOperation=1 +AutoCrashNumber=10 +AutoCrashMinutes=1 +WebURL= +WebUserID= +WebPassword= +WebPort=0 +AttachedFiles= +Count=0 +EMail Message Line Count=0 +loNoDuplicateErrors=0 +loAppendReproduceText=0 +loDeleteLogAtVersionChange=0 +loAddComputerNameInLogFileName=0 +loSaveModulesSection=1 +loSaveCPUSection=1 +soAppStartDate=1 +soAppName=1 +soAppVersionNumber=1 +soAppParameters=1 +soAppCompilationDate=1 +soExcDate=1 +soExcAddress=1 +soExcModule=1 +soExcType=1 +soExcMessage=1 +soActCtlsFormClass=1 +soActCtlsFormText=1 +soActCtlsControlClass=1 +soActCtlsControlText=1 +soCmpName=1 +soCmpUser=1 +soCmpTotalMemory=1 +soCmpFreeMemory=1 +soCmpTotalDisk=1 +soCmpFreeDisk=1 +soCmpSysUpTime=1 +soCmpProcessor=1 +soCmpDisplayMode=1 +soOSType=1 +soOSBuildN=1 +soOSUpdate=1 +soOSLanguage=1 +soNetIP=1 +soNetSubmask=1 +soNetGateway=1 +soNetDNS1=1 +soNetDNS2=1 +soNetDHCP=1 +sndShowSendDialog=1 +sndShowSuccessFailureMsg=0 +sndSendEntireLog=0 +sndSendXMLLogCopy=0 +sndSendScreenshot=1 +sndUseOnlyActiveWindow=0 +sndSendLastHTMLPage=1 +sndSendInSeparatedThread=0 +sndAddDateInFileName=0 +sndCompressAllFiles=0 +edoShowExceptionDialog=1 +edoSendEmailChecked=1 +edoAttachScreenshotChecked=1 +edoShowCopyToClipOption=1 +edoShowDetailsButton=1 +edoShowInDetailedMode=0 +edoShowInTopMostMode=0 +edoUseEurekaLogLookAndFeel=0 +csoShowDLLs=1 +csoShowBPLs=1 +csoShowBorlandThreads=1 +csoShowWindowsThreads=1 +csoShowProcedureOffset=0 +boActivateCrashDetection=0 +boPauseBorlandThreads=0 +boDoNotPauseMainThread=0 +boPauseWindowsThreads=0 +boUseMainModuleOptions=1 +boCopyLogInCaseOfError=1 +boSaveCompressedCopyInCaseOfError=0 +Count mtInformationMsgCaption=1 +mtInformationMsgCaption0="Information." +Count mtQuestionMsgCaption=1 +mtQuestionMsgCaption0="Question." +Count mtDialog_Caption=1 +mtDialog_Caption0="Error." +Count mtDialog_ErrorMsgCaption=2 +mtDialog_ErrorMsgCaption0="An error has occurred during program execution." +mtDialog_ErrorMsgCaption1="Please read the following information for further details." +Count mtDialog_GeneralCaption=1 +mtDialog_GeneralCaption0="General" +Count mtDialog_GeneralHeader=1 +mtDialog_GeneralHeader0="General Information" +Count mtDialog_CallStackCaption=1 +mtDialog_CallStackCaption0="Call Stack" +Count mtDialog_CallStackHeader=1 +mtDialog_CallStackHeader0="Call Stack Information" +Count mtDialog_ModulesCaption=1 +mtDialog_ModulesCaption0="Modules" +Count mtDialog_ModulesHeader=1 +mtDialog_ModulesHeader0="Modules Information" +Count mtDialog_CPUCaption=1 +mtDialog_CPUCaption0="CPU" +Count mtDialog_CPUHeader=1 +mtDialog_CPUHeader0="CPU Information" +Count mtDialog_CustomDataCaption=1 +mtDialog_CustomDataCaption0="Other" +Count mtDialog_CustomDataHeader=1 +mtDialog_CustomDataHeader0="Other Information" +Count mtDialog_OKButtonCaption=1 +mtDialog_OKButtonCaption0="%26OK" +Count mtDialog_TerminateButtonCaption=1 +mtDialog_TerminateButtonCaption0="%26Terminate" +Count mtDialog_RestartButtonCaption=1 +mtDialog_RestartButtonCaption0="%26Restart" +Count mtDialog_DetailsButtonCaption=1 +mtDialog_DetailsButtonCaption0="%26Details" +Count mtDialog_SendMessage=1 +mtDialog_SendMessage0="%26Send this error via Internet" +Count mtDialog_ScreenshotMessage=1 +mtDialog_ScreenshotMessage0="%26Attach a Screenshot image" +Count mtDialog_CopyMessage=1 +mtDialog_CopyMessage0="%26Copy to Clipboard" +Count mtDialog_SupportMessage=1 +mtDialog_SupportMessage0="Go to the Support Page" +Count mtLog_AppHeader=1 +mtLog_AppHeader0="Application" +Count mtLog_AppStartDate=1 +mtLog_AppStartDate0="Start Date" +Count mtLog_AppName=1 +mtLog_AppName0="Name/Description" +Count mtLog_AppVersionNumber=1 +mtLog_AppVersionNumber0="Version Number" +Count mtLog_AppParameters=1 +mtLog_AppParameters0="Parameters" +Count mtLog_AppCompilationDate=1 +mtLog_AppCompilationDate0="Compilation Date" +Count mtLog_ExcHeader=1 +mtLog_ExcHeader0="Exception" +Count mtLog_ExcDate=1 +mtLog_ExcDate0="Date" +Count mtLog_ExcAddress=1 +mtLog_ExcAddress0="Address" +Count mtLog_ExcModule=1 +mtLog_ExcModule0="Module" +Count mtLog_ExcType=1 +mtLog_ExcType0="Type" +Count mtLog_ExcMessage=1 +mtLog_ExcMessage0="Message" +Count mtLog_ActCtrlsHeader=1 +mtLog_ActCtrlsHeader0="Active Controls" +Count mtLog_ActCtrlsFormClass=1 +mtLog_ActCtrlsFormClass0="Form Class" +Count mtLog_ActCtrlsFormText=1 +mtLog_ActCtrlsFormText0="Form Text" +Count mtLog_ActCtrlsControlClass=1 +mtLog_ActCtrlsControlClass0="Control Class" +Count mtLog_ActCtrlsControlText=1 +mtLog_ActCtrlsControlText0="Control Text" +Count mtLog_CmpHeader=1 +mtLog_CmpHeader0="Computer" +Count mtLog_CmpName=1 +mtLog_CmpName0="Name" +Count mtLog_CmpUser=1 +mtLog_CmpUser0="User" +Count mtLog_CmpTotalMemory=1 +mtLog_CmpTotalMemory0="Total Memory" +Count mtLog_CmpFreeMemory=1 +mtLog_CmpFreeMemory0="Free Memory" +Count mtLog_CmpTotalDisk=1 +mtLog_CmpTotalDisk0="Total Disk" +Count mtLog_CmpFreeDisk=1 +mtLog_CmpFreeDisk0="Free Disk" +Count mtLog_CmpSystemUpTime=1 +mtLog_CmpSystemUpTime0="System Up Time" +Count mtLog_CmpProcessor=1 +mtLog_CmpProcessor0="Processor" +Count mtLog_CmpDisplayMode=1 +mtLog_CmpDisplayMode0="Display Mode" +Count mtLog_OSHeader=1 +mtLog_OSHeader0="Operating System" +Count mtLog_OSType=1 +mtLog_OSType0="Type" +Count mtLog_OSBuildN=1 +mtLog_OSBuildN0="Build #" +Count mtLog_OSUpdate=1 +mtLog_OSUpdate0="Update" +Count mtLog_OSLanguage=1 +mtLog_OSLanguage0="Language" +Count mtLog_NetHeader=1 +mtLog_NetHeader0="Network" +Count mtLog_NetIP=1 +mtLog_NetIP0="IP Address" +Count mtLog_NetSubmask=1 +mtLog_NetSubmask0="Submask" +Count mtLog_NetGateway=1 +mtLog_NetGateway0="Gateway" +Count mtLog_NetDNS1=1 +mtLog_NetDNS10="DNS 1" +Count mtLog_NetDNS2=1 +mtLog_NetDNS20="DNS 2" +Count mtLog_NetDHCP=1 +mtLog_NetDHCP0="DHCP" +Count mtLog_CustInfoHeader=1 +mtLog_CustInfoHeader0="Custom Information" +Count mtCallStack_Address=1 +mtCallStack_Address0="Address" +Count mtCallStack_Name=1 +mtCallStack_Name0="Module" +Count mtCallStack_Unit=1 +mtCallStack_Unit0="Unit" +Count mtCallStack_Class=1 +mtCallStack_Class0="Class" +Count mtCallStack_Procedure=1 +mtCallStack_Procedure0="Procedure/Method" +Count mtCallStack_Line=1 +mtCallStack_Line0="Line" +Count mtCallStack_MainThread=1 +mtCallStack_MainThread0="Main" +Count mtCallStack_ExceptionThread=1 +mtCallStack_ExceptionThread0="Exception Thread" +Count mtCallStack_RunningThread=1 +mtCallStack_RunningThread0="Running Thread" +Count mtCallStack_CallingThread=1 +mtCallStack_CallingThread0="Calling Thread" +Count mtCallStack_ThreadID=1 +mtCallStack_ThreadID0="ID" +Count mtCallStack_ThreadPriority=1 +mtCallStack_ThreadPriority0="Priority" +Count mtCallStack_ThreadClass=1 +mtCallStack_ThreadClass0="Class" +Count mtSendDialog_Caption=1 +mtSendDialog_Caption0="Send." +Count mtSendDialog_Message=1 +mtSendDialog_Message0="Message" +Count mtSendDialog_Resolving=1 +mtSendDialog_Resolving0="Resolving DNS..." +Count mtSendDialog_Connecting=1 +mtSendDialog_Connecting0="Connecting with server..." +Count mtSendDialog_Connected=1 +mtSendDialog_Connected0="Connected with server." +Count mtSendDialog_Sending=1 +mtSendDialog_Sending0="Sending message..." +Count mtReproduceDialog_Caption=1 +mtReproduceDialog_Caption0="Request" +Count mtReproduceDialog_Request=1 +mtReproduceDialog_Request0="Please describe the steps to reproduce the error:" +Count mtReproduceDialog_OKButtonCaption=1 +mtReproduceDialog_OKButtonCaption0="%26OK" +Count mtModules_Handle=1 +mtModules_Handle0="Handle" +Count mtModules_Name=1 +mtModules_Name0="Name" +Count mtModules_Description=1 +mtModules_Description0="Description" +Count mtModules_Version=1 +mtModules_Version0="Version" +Count mtModules_Size=1 +mtModules_Size0="Size" +Count mtModules_LastModified=1 +mtModules_LastModified0="Modified" +Count mtModules_Path=1 +mtModules_Path0="Path" +Count mtCPU_Registers=1 +mtCPU_Registers0="Registers" +Count mtCPU_Stack=1 +mtCPU_Stack0="Stack" +Count mtCPU_MemoryDump=1 +mtCPU_MemoryDump0="Memory Dump" +Count mtSend_SuccessMsg=1 +mtSend_SuccessMsg0="The message was sent successfully." +Count mtSend_FailureMsg=1 +mtSend_FailureMsg0="Sorry, sending the message didn't work." + + diff --git a/Packages/PluginSDK_D7D.dpk b/Packages/PluginSDK_D7D.dpk new file mode 100644 index 0000000..6c780cf --- /dev/null +++ b/Packages/PluginSDK_D7D.dpk @@ -0,0 +1,40 @@ +package PluginSDK_D7D; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DESCRIPTION 'PluginSDK para Delphi 7'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + designide, + vclactnband, + vclx, + vcl, + PluginSDK_D7R; + +contains + uReg in '..\Source\uReg.pas'; + +end. diff --git a/Packages/PluginSDK_D7D.drc b/Packages/PluginSDK_D7D.drc new file mode 100644 index 0000000..a5d5271 --- /dev/null +++ b/Packages/PluginSDK_D7D.drc @@ -0,0 +1,14 @@ +/* VER150 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +STRINGTABLE +BEGIN +END + diff --git a/Packages/PluginSDK_D7D.res b/Packages/PluginSDK_D7D.res new file mode 100644 index 0000000..ec5f233 Binary files /dev/null and b/Packages/PluginSDK_D7D.res differ diff --git a/Packages/PluginSDK_D7R.dof b/Packages/PluginSDK_D7R.dof new file mode 100644 index 0000000..e50de7b --- /dev/null +++ b/Packages/PluginSDK_D7R.dof @@ -0,0 +1,489 @@ +[FileVersion] +Version=7.0 +[Compiler] +A=8 +B=0 +C=1 +D=1 +E=0 +F=0 +G=1 +H=1 +I=1 +J=0 +K=0 +L=1 +M=0 +N=1 +O=1 +P=1 +Q=0 +R=0 +S=0 +T=0 +U=0 +V=1 +W=0 +X=1 +Y=0 +Z=1 +ShowHints=1 +ShowWarnings=1 +UnitAliases=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +NamespacePrefix= +SymbolDeprecated=1 +SymbolLibrary=1 +SymbolPlatform=1 +UnitLibrary=1 +UnitPlatform=1 +UnitDeprecated=1 +HResultCompat=1 +HidingMember=1 +HiddenVirtual=1 +Garbage=1 +BoundsError=1 +ZeroNilCompat=1 +StringConstTruncated=1 +ForLoopVarVarPar=1 +TypedConstVarPar=1 +AsgToTypedConst=1 +CaseLabelRange=1 +ForVariable=1 +ConstructingAbstract=1 +ComparisonFalse=1 +ComparisonTrue=1 +ComparingSignedUnsigned=1 +CombiningSignedUnsigned=1 +UnsupportedConstruct=1 +FileOpen=1 +FileOpenUnitSrc=1 +BadGlobalSymbol=1 +DuplicateConstructorDestructor=1 +InvalidDirective=1 +PackageNoLink=1 +PackageThreadVar=1 +ImplicitImport=1 +HPPEMITIgnored=1 +NoRetVal=1 +UseBeforeDef=1 +ForLoopVarUndef=1 +UnitNameMismatch=1 +NoCFGFileFound=1 +MessageDirective=1 +ImplicitVariants=1 +UnicodeToLocale=1 +LocaleToUnicode=1 +ImagebaseMultiple=1 +SuspiciousTypecast=1 +PrivatePropAccessor=1 +UnsafeType=0 +UnsafeCode=0 +UnsafeCast=0 +[Linker] +MapFile=3 +OutputObjs=0 +ConsoleApp=1 +DebugInfo=0 +RemoteSymbols=0 +MinStackSize=16384 +MaxStackSize=1048576 +ImageBase=4194304 +ExeDescription= +[Directories] +OutputDir= +UnitOutputDir=..\Lib\D7 +PackageDLLOutputDir=..\Lib\D7 +PackageDCPOutputDir=..\Lib\D7 +SearchPath=..\Lib\D7 +Packages=vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;dclOfficeXP;CEToolsPkgd7;FR7;FRIBX7;Hydra_Core_D7;Hydra_RO_D7 +Conditionals= +DebugSourceDirs=..\Lib\D7 +UsePackages=0 +[Parameters] +RunParams= +HostApplication= +Launcher= +UseLauncher=0 +DebugCWD= +[Language] +ActiveLang= +ProjectLang= +RootDir=C:\Archivos de programa\Borland\Delphi7\Bin\ +[Version Info] +IncludeVerInfo=1 +AutoIncBuild=0 +MajorVer=1 +MinorVer=0 +Release=0 +Build=0 +Debug=0 +PreRelease=0 +Special=0 +Private=0 +DLL=0 +Locale=3082 +CodePage=1252 +[Version Info Keys] +CompanyName= +FileDescription= +FileVersion=1.0.0.0 +InternalName= +LegalCopyright= +LegalTrademarks= +OriginalFilename= +ProductName= +ProductVersion=1.0.0.0 +Comments= +[Excluded Packages] +c:\archivos de programa\borland\delphi7\Bin\designdgm70.bpl=Borland Module Diagram Editview +T:\BPL_D7\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc. +[HistoryLists\hlDebugSourcePath] +Count=1 +Item0=..\Lib\D7 +[HistoryLists\hlUnitAliases] +Count=1 +Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +[HistoryLists\hlSearchPath] +Count=8 +Item0=..\Lib\D7 +Item1=..\ +Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug +Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\ +Item4=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\;..\AppCliente +Item5=C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D7 +Item6=C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D7;C:\Archivos de programa\RemObjects Software\RemObjects SDK for Delphi\Source +Item7=http://delphi.hostmos.ru;C:\Archivos de programa\RemObjects Software\Data Abstract for Delphi\Dcu\D7 +[HistoryLists\hlUnitOutputDirectory] +Count=2 +Item0=..\Lib\D7 +Item1=..\ +[HistoryLists\hlOutputDirectorry] +Count=1 +Item0=..\ +[HistoryLists\hlBPLOutput] +Count=4 +Item0=..\Lib\D7 +Item1=..\ +Item2=..\Modules +Item3=..\Modules\ +[HistoryLists\hlDCPOutput] +Count=2 +Item0=..\Lib\D7 +Item1=..\ +[Exception Log] +EurekaLog Version=519 +Activate=1 +Activate Handle=1 +Save Log File=1 +Foreground Tab=0 +Freeze Activate=0 +Freeze Timeout=30 +Freeze Message=The application seems to be frozen. +SMTP From=eurekalog@email.com +SMTP Host= +SMTP Port=25 +SMTP UserID= +SMTP Password= +Append to Log=0 +Show TerminateBtn=1 +TerminateBtn Operation=1 +Errors Number=200 +Errors Terminate=3 +Email Address= +Email Object= +Email Send Options=0 +Output Path=D:\Proyectos\FactuGES (Arribas)\Codigo\Output\Cliente\Log.txt +Encrypt Password= +AutoCloseDialogSecs=0 +WebSendMode=0 +SupportULR= +HTMLLayout Count=15 +HTMLLine0="%3Chtml%3E" +HTMLLine1=" %3Chead%3E" +HTMLLine2=" %3C/head%3E" +HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E" +HTMLLine4=" %3Ctable width="100%%" border="0"%3E" +HTMLLine5=" %3Ctr%3E" +HTMLLine6=" %3Ctd nowrap%3E" +HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E" +HTMLLine8=" %3C%%HTML_TAG%%%3E" +HTMLLine9=" %3C/font%3E" +HTMLLine10=" %3C/td%3E" +HTMLLine11=" %3C/tr%3E" +HTMLLine12=" %3C/table%3E" +HTMLLine13=" %3C/body%3E" +HTMLLine14="%3C/html%3E" +AutoCrashOperation=1 +AutoCrashNumber=10 +AutoCrashMinutes=1 +WebURL= +WebUserID= +WebPassword= +WebPort=0 +AttachedFiles= +Count=0 +EMail Message Line Count=0 +loNoDuplicateErrors=1 +loAppendReproduceText=0 +loDeleteLogAtVersionChange=1 +loAddComputerNameInLogFileName=0 +loSaveModulesSection=1 +loSaveCPUSection=0 +soAppStartDate=1 +soAppName=1 +soAppVersionNumber=1 +soAppParameters=1 +soAppCompilationDate=1 +soExcDate=1 +soExcAddress=1 +soExcModule=1 +soExcType=1 +soExcMessage=1 +soActCtlsFormClass=1 +soActCtlsFormText=1 +soActCtlsControlClass=1 +soActCtlsControlText=1 +soCmpName=1 +soCmpUser=1 +soCmpTotalMemory=1 +soCmpFreeMemory=1 +soCmpTotalDisk=1 +soCmpFreeDisk=1 +soCmpSysUpTime=1 +soCmpProcessor=1 +soCmpDisplayMode=1 +soOSType=1 +soOSBuildN=1 +soOSUpdate=1 +soOSLanguage=1 +soNetIP=1 +soNetSubmask=1 +soNetGateway=1 +soNetDNS1=1 +soNetDNS2=1 +soNetDHCP=1 +sndShowSendDialog=1 +sndShowSuccessFailureMsg=0 +sndSendEntireLog=0 +sndSendXMLLogCopy=0 +sndSendScreenshot=1 +sndUseOnlyActiveWindow=0 +sndSendLastHTMLPage=1 +sndSendInSeparatedThread=0 +sndAddDateInFileName=0 +sndCompressAllFiles=0 +edoShowExceptionDialog=1 +edoSendEmailChecked=1 +edoAttachScreenshotChecked=1 +edoShowCopyToClipOption=1 +edoShowDetailsButton=1 +edoShowInDetailedMode=0 +edoShowInTopMostMode=0 +edoUseEurekaLogLookAndFeel=0 +csoShowDLLs=1 +csoShowBPLs=1 +csoShowBorlandThreads=1 +csoShowWindowsThreads=1 +csoShowProcedureOffset=0 +boActivateCrashDetection=0 +boPauseBorlandThreads=0 +boDoNotPauseMainThread=0 +boPauseWindowsThreads=0 +boUseMainModuleOptions=1 +boCopyLogInCaseOfError=1 +boSaveCompressedCopyInCaseOfError=0 +Count mtInformationMsgCaption=1 +mtInformationMsgCaption0="Information." +Count mtQuestionMsgCaption=1 +mtQuestionMsgCaption0="Question." +Count mtDialog_Caption=1 +mtDialog_Caption0="Error." +Count mtDialog_ErrorMsgCaption=2 +mtDialog_ErrorMsgCaption0="An error has occurred during program execution." +mtDialog_ErrorMsgCaption1="Please read the following information for further details." +Count mtDialog_GeneralCaption=1 +mtDialog_GeneralCaption0="General" +Count mtDialog_GeneralHeader=1 +mtDialog_GeneralHeader0="General Information" +Count mtDialog_CallStackCaption=1 +mtDialog_CallStackCaption0="Call Stack" +Count mtDialog_CallStackHeader=1 +mtDialog_CallStackHeader0="Call Stack Information" +Count mtDialog_ModulesCaption=1 +mtDialog_ModulesCaption0="Modules" +Count mtDialog_ModulesHeader=1 +mtDialog_ModulesHeader0="Modules Information" +Count mtDialog_CPUCaption=1 +mtDialog_CPUCaption0="CPU" +Count mtDialog_CPUHeader=1 +mtDialog_CPUHeader0="CPU Information" +Count mtDialog_CustomDataCaption=1 +mtDialog_CustomDataCaption0="Other" +Count mtDialog_CustomDataHeader=1 +mtDialog_CustomDataHeader0="Other Information" +Count mtDialog_OKButtonCaption=1 +mtDialog_OKButtonCaption0="%26OK" +Count mtDialog_TerminateButtonCaption=1 +mtDialog_TerminateButtonCaption0="%26Terminate" +Count mtDialog_RestartButtonCaption=1 +mtDialog_RestartButtonCaption0="%26Restart" +Count mtDialog_DetailsButtonCaption=1 +mtDialog_DetailsButtonCaption0="%26Details" +Count mtDialog_SendMessage=1 +mtDialog_SendMessage0="%26Send this error via Internet" +Count mtDialog_ScreenshotMessage=1 +mtDialog_ScreenshotMessage0="%26Attach a Screenshot image" +Count mtDialog_CopyMessage=1 +mtDialog_CopyMessage0="%26Copy to Clipboard" +Count mtDialog_SupportMessage=1 +mtDialog_SupportMessage0="Go to the Support Page" +Count mtLog_AppHeader=1 +mtLog_AppHeader0="Application" +Count mtLog_AppStartDate=1 +mtLog_AppStartDate0="Start Date" +Count mtLog_AppName=1 +mtLog_AppName0="Name/Description" +Count mtLog_AppVersionNumber=1 +mtLog_AppVersionNumber0="Version Number" +Count mtLog_AppParameters=1 +mtLog_AppParameters0="Parameters" +Count mtLog_AppCompilationDate=1 +mtLog_AppCompilationDate0="Compilation Date" +Count mtLog_ExcHeader=1 +mtLog_ExcHeader0="Exception" +Count mtLog_ExcDate=1 +mtLog_ExcDate0="Date" +Count mtLog_ExcAddress=1 +mtLog_ExcAddress0="Address" +Count mtLog_ExcModule=1 +mtLog_ExcModule0="Module" +Count mtLog_ExcType=1 +mtLog_ExcType0="Type" +Count mtLog_ExcMessage=1 +mtLog_ExcMessage0="Message" +Count mtLog_ActCtrlsHeader=1 +mtLog_ActCtrlsHeader0="Active Controls" +Count mtLog_ActCtrlsFormClass=1 +mtLog_ActCtrlsFormClass0="Form Class" +Count mtLog_ActCtrlsFormText=1 +mtLog_ActCtrlsFormText0="Form Text" +Count mtLog_ActCtrlsControlClass=1 +mtLog_ActCtrlsControlClass0="Control Class" +Count mtLog_ActCtrlsControlText=1 +mtLog_ActCtrlsControlText0="Control Text" +Count mtLog_CmpHeader=1 +mtLog_CmpHeader0="Computer" +Count mtLog_CmpName=1 +mtLog_CmpName0="Name" +Count mtLog_CmpUser=1 +mtLog_CmpUser0="User" +Count mtLog_CmpTotalMemory=1 +mtLog_CmpTotalMemory0="Total Memory" +Count mtLog_CmpFreeMemory=1 +mtLog_CmpFreeMemory0="Free Memory" +Count mtLog_CmpTotalDisk=1 +mtLog_CmpTotalDisk0="Total Disk" +Count mtLog_CmpFreeDisk=1 +mtLog_CmpFreeDisk0="Free Disk" +Count mtLog_CmpSystemUpTime=1 +mtLog_CmpSystemUpTime0="System Up Time" +Count mtLog_CmpProcessor=1 +mtLog_CmpProcessor0="Processor" +Count mtLog_CmpDisplayMode=1 +mtLog_CmpDisplayMode0="Display Mode" +Count mtLog_OSHeader=1 +mtLog_OSHeader0="Operating System" +Count mtLog_OSType=1 +mtLog_OSType0="Type" +Count mtLog_OSBuildN=1 +mtLog_OSBuildN0="Build #" +Count mtLog_OSUpdate=1 +mtLog_OSUpdate0="Update" +Count mtLog_OSLanguage=1 +mtLog_OSLanguage0="Language" +Count mtLog_NetHeader=1 +mtLog_NetHeader0="Network" +Count mtLog_NetIP=1 +mtLog_NetIP0="IP Address" +Count mtLog_NetSubmask=1 +mtLog_NetSubmask0="Submask" +Count mtLog_NetGateway=1 +mtLog_NetGateway0="Gateway" +Count mtLog_NetDNS1=1 +mtLog_NetDNS10="DNS 1" +Count mtLog_NetDNS2=1 +mtLog_NetDNS20="DNS 2" +Count mtLog_NetDHCP=1 +mtLog_NetDHCP0="DHCP" +Count mtLog_CustInfoHeader=1 +mtLog_CustInfoHeader0="Custom Information" +Count mtCallStack_Address=1 +mtCallStack_Address0="Address" +Count mtCallStack_Name=1 +mtCallStack_Name0="Module" +Count mtCallStack_Unit=1 +mtCallStack_Unit0="Unit" +Count mtCallStack_Class=1 +mtCallStack_Class0="Class" +Count mtCallStack_Procedure=1 +mtCallStack_Procedure0="Procedure/Method" +Count mtCallStack_Line=1 +mtCallStack_Line0="Line" +Count mtCallStack_MainThread=1 +mtCallStack_MainThread0="Main" +Count mtCallStack_ExceptionThread=1 +mtCallStack_ExceptionThread0="Exception Thread" +Count mtCallStack_RunningThread=1 +mtCallStack_RunningThread0="Running Thread" +Count mtCallStack_CallingThread=1 +mtCallStack_CallingThread0="Calling Thread" +Count mtCallStack_ThreadID=1 +mtCallStack_ThreadID0="ID" +Count mtCallStack_ThreadPriority=1 +mtCallStack_ThreadPriority0="Priority" +Count mtCallStack_ThreadClass=1 +mtCallStack_ThreadClass0="Class" +Count mtSendDialog_Caption=1 +mtSendDialog_Caption0="Send." +Count mtSendDialog_Message=1 +mtSendDialog_Message0="Message" +Count mtSendDialog_Resolving=1 +mtSendDialog_Resolving0="Resolving DNS..." +Count mtSendDialog_Connecting=1 +mtSendDialog_Connecting0="Connecting with server..." +Count mtSendDialog_Connected=1 +mtSendDialog_Connected0="Connected with server." +Count mtSendDialog_Sending=1 +mtSendDialog_Sending0="Sending message..." +Count mtReproduceDialog_Caption=1 +mtReproduceDialog_Caption0="Request" +Count mtReproduceDialog_Request=1 +mtReproduceDialog_Request0="Please describe the steps to reproduce the error:" +Count mtReproduceDialog_OKButtonCaption=1 +mtReproduceDialog_OKButtonCaption0="%26OK" +Count mtModules_Handle=1 +mtModules_Handle0="Handle" +Count mtModules_Name=1 +mtModules_Name0="Name" +Count mtModules_Description=1 +mtModules_Description0="Description" +Count mtModules_Version=1 +mtModules_Version0="Version" +Count mtModules_Size=1 +mtModules_Size0="Size" +Count mtModules_LastModified=1 +mtModules_LastModified0="Modified" +Count mtModules_Path=1 +mtModules_Path0="Path" +Count mtCPU_Registers=1 +mtCPU_Registers0="Registers" +Count mtCPU_Stack=1 +mtCPU_Stack0="Stack" +Count mtCPU_MemoryDump=1 +mtCPU_MemoryDump0="Memory Dump" +Count mtSend_SuccessMsg=1 +mtSend_SuccessMsg0="The message was sent successfully." +Count mtSend_FailureMsg=1 +mtSend_FailureMsg0="Sorry, sending the message didn't work." + + diff --git a/Packages/PluginSDK_D7R.dpk b/Packages/PluginSDK_D7R.dpk new file mode 100644 index 0000000..66f9bc2 --- /dev/null +++ b/Packages/PluginSDK_D7R.dpk @@ -0,0 +1,38 @@ +package PluginSDK_D7R; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + vcl; + +contains + uHostManager in '..\Source\uHostManager.pas', + uInterfaces in '..\Source\uInterfaces.pas', + uModuleMenu in '..\Source\uModuleMenu.pas', + uModuleController in '..\Source\uModuleController.pas' {ModuleController: TDataModule}; + +end. diff --git a/Packages/PluginSDK_D7R.drc b/Packages/PluginSDK_D7R.drc new file mode 100644 index 0000000..a5d5271 --- /dev/null +++ b/Packages/PluginSDK_D7R.drc @@ -0,0 +1,14 @@ +/* VER150 + Generated by the Borland Delphi Pascal Compiler + because -GD or --drc was supplied to the compiler. + + This file contains compiler-generated resources that + were bound to the executable. + If this file is empty, then no compiler-generated + resources were bound to the produced executable. +*/ + +STRINGTABLE +BEGIN +END + diff --git a/Packages/PluginSDK_D7R.res b/Packages/PluginSDK_D7R.res new file mode 100644 index 0000000..3c41d55 Binary files /dev/null and b/Packages/PluginSDK_D7R.res differ diff --git a/Packages/PluginSDK_GroupD10.bdsgroup b/Packages/PluginSDK_GroupD10.bdsgroup new file mode 100644 index 0000000..6801a11 --- /dev/null +++ b/Packages/PluginSDK_GroupD10.bdsgroup @@ -0,0 +1,20 @@ + + + + + + + + + + + + + PluginSDK_D10R.bdsproj + PluginSDK_D10D.bdsproj + PluginSDK_D10R.bpl PluginSDK_D10D.bpl + + + + diff --git a/Packages/PluginSDK_GroupD10.groupproj b/Packages/PluginSDK_GroupD10.groupproj new file mode 100644 index 0000000..fde6b12 --- /dev/null +++ b/Packages/PluginSDK_GroupD10.groupproj @@ -0,0 +1,40 @@ + + + {5ab3c3c7-1637-4d7c-bd71-3f098e7d8a0e} + + + + + Default.Personality + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Source/uHostManager.pas b/Source/uHostManager.pas new file mode 100644 index 0000000..44cf8de --- /dev/null +++ b/Source/uHostManager.pas @@ -0,0 +1,301 @@ + +unit uHostManager; + +interface + +uses + Windows, Classes, Forms, Menus, Contnrs, + uInterfaces, uModuleController; + +type + { TModuleInfo } + TModuleInfo = class(TObject) + private + FPackageHandle: HModule; + FFileName : String; + FName: string; + FVersion : string; + FModule: TModuleController; + FModuleClass: TModuleControllerClass; + public + constructor Create(AModuleClass: TModuleControllerClass; + const FileName : String); + destructor Destroy; override; + property Module: TModuleController read FModule; + property Name: string read FName; + property FileName : string read FFileName; + property PackageHandle: HModule read FPackageHandle; + property Version: String read FVersion; + end; + + { Events } + TBeforeLoadEvent = procedure(Sender: TObject; FileName: string; var Allow: Boolean) of object; + TAfterLoadEvent = procedure(Sender: TObject; AModuleInfo : TModuleInfo) of object; + TBeforeUnloadEvent = procedure(Sender: TObject; AModuleInfo : TModuleInfo) of object; + TAfterUnloadEvent = procedure(Sender: TObject; FileName: string) of object; + + { THostManager } + THostManager = class(TComponent) + private + FMainForm : TForm; + FMainMenu : TMainMenu; + FBPLPath : String; + FInstancesList : TList; + FModules : TObjectList; + FOnBeforeLoad : TBeforeLoadEvent; + FOnAfterLoad : TAfterLoadEvent; + FOnBeforeUnload : TBeforeUnloadEvent; + FOnAfterUnload : TAfterUnloadEvent; + protected + function GetInstanceCount: integer; + function GetInstances(Index: integer): TModuleController; + function GetModules(Index: Integer): TModuleInfo; + function GetModulesCount: Integer; + procedure Notification(AComponent: TComponent; + Operation: TOperation); override; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + property Instances[Index : integer] : TModuleController read GetInstances; + property InstanceCount : integer read GetInstanceCount; + procedure LoadModules; + function LoadModule(const AFileName : String) : Boolean; + procedure UnloadModules; + function UnloadModule(const AIndex : Integer): Boolean; + property ModulesCount: Integer read GetModulesCount; + property Modules[Index: Integer]: TModuleInfo read GetModules; + published + property BPLPath: string read FBPLPath write FBPLPath; + property MainMenu: TMainMenu read FMainMenu write FMainMenu; + property MainForm: TForm read FMainForm write FMainForm; + property OnBeforeLoad: TBeforeLoadEvent read FOnBeforeLoad write FOnBeforeLoad; + property OnAfterLoad: TAfterLoadEvent read FOnAfterLoad write FOnAfterLoad; + property OnBeforeUnload : TBeforeUnloadEvent read FOnBeforeUnload write FOnBeforeUnload; + property OnAfterUnload: TAfterUnloadEvent read FOnAfterUnload write FOnAfterUnload; + end; + +procedure RegisterModuleClass(AModuleClass : TModuleControllerClass); +procedure UnRegisterModuleClass(AModuleClass : TModuleControllerClass); +function GetModuleClass(AHandle: HMODULE): TModuleControllerClass; + +implementation + +uses + SysUtils, Dialogs; + +const + MODULES_FILES = '*.bpl'; + DEFAULT_DIR = 'Modules'; + +var + FModuleClassList: TClassList; + FModuleHandleList: TStringList; + + +{ TModuleInfo } +constructor TModuleInfo.Create(AModuleClass: TModuleControllerClass; + const FileName : String); +var + GetModulefunc : TGetModuleFunc; +begin + FName := AModuleClass.ClassName; + FPackageHandle := HMODULE(FindClassHInstance(AModuleClass)); + FModuleClass := TModuleControllerClass(FindClass(FName)); + FFileName := FileName; + + @GetModulefunc := GetProcAddress(FPackageHandle, PChar(GET_MODULE_FUNC)); + if (@GetModulefunc = NIL) then + raise Exception.Create('No se ha podido registrar el módulo') + else begin + FModule := GetModulefunc; + end; +end; + +destructor TModuleInfo.Destroy; +begin + FreeAndNIL(FModule); + inherited; +end; + +{ THostManager } +constructor THostManager.Create(AOwner : TComponent); +begin + inherited Create(AOwner); + FMainForm := nil; + FMainMenu := nil; + FBPLPath := ''; + + FInstancesList := TList.Create; + FModules := TObjectList.Create; +end; + +destructor THostManager.Destroy; +begin + UnloadModules; + FreeAndNil(FInstancesList); + FreeAndNil(FModules); + inherited; +end; + +function THostManager.GetInstanceCount: integer; +begin + Result := FInstancesList.Count; +end; + +function THostManager.GetInstances(Index: integer): TModuleController; +begin + Result := TModuleController(FInstancesList.Items[Index]); +end; + +function THostManager.GetModules(Index: Integer): TModuleInfo; +begin + Result := TModuleInfo(FModules[Index]); +end; + +function THostManager.GetModulesCount: Integer; +begin + Result := 0; + if Assigned(FModules) then + Result := FModules.Count; +end; + +function THostManager.LoadModule(const AFileName: String): Boolean; +var + AHandle : HMODULE; + AModuleClass : TModuleControllerClass; + AModuleInfo: TModuleInfo; + CanContinue : Boolean; + AFile : String; +begin + Result := False; + CanContinue := True; + AFile := ExtractFileName(AFileName); + if Assigned(FOnBeforeLoad) then + FOnBeforeLoad(Self, AFile, CanContinue); + + if CanContinue then + begin + AHandle := LoadPackage(AFileName); + AModuleClass := GetModuleClass(AHandle); + if Assigned(AModuleClass) then + begin + AModuleInfo := TModuleInfo.Create(AModuleClass, AFile); + FModules.Add(AModuleInfo); + if Assigned(FOnAfterLoad) then + FOnAfterLoad(Self, AModuleInfo); + end; + Result := True; + end; +end; + +procedure THostManager.LoadModules; +var + SRec : TSearchRec; + AFileName : String; +begin + if FBPLPath = '' then + FBPLPath := ExtractFilePath(Application.ExeName) + + PathDelim + DEFAULT_DIR + PathDelim; + + if Copy(FBPLPath, Length(FBPLPath), 1) <> PathDelim then + FBPLPath := FBPLPath + PathDelim; + + if FindFirst(FBPLPath + MODULES_FILES, faAnyFile, SRec) = 0 then + begin + repeat + AFileName := FBPLPath + SRec.Name; + LoadModule(AFileName); + until FindNext(SRec) <> 0; + end; +end; + +procedure THostManager.Notification(AComponent: TComponent; + Operation: TOperation); +begin + inherited Notification(AComponent, Operation); + case Operation of + opRemove: + begin + if (FMainMenu <> nil) and (AComponent is TMainMenu) and + (AComponent = FMainMenu) then + FMainMenu := NIL; + + if (FMainForm <> nil) and (AComponent is TForm) + and (FMainForm = AComponent)then + FMainForm := NIL; + end; + end; +end; + +function THostManager.UnloadModule(const AIndex: Integer): Boolean; +var + AFileName : String; + AHandle : HModule; +begin + if Assigned(FOnBeforeUnload) then + FOnBeforeUnload(Self, Modules[AIndex]); + + AFileName := Modules[AIndex].FileName; + AHandle := Modules[AIndex].PackageHandle; + FModules.Delete(AIndex); + UnloadPackage(AHandle); + + if Assigned(FOnAfterUnload) then + FOnAfterUnload(Self, AFileName); + Result := True; +end; + +procedure THostManager.UnloadModules; +var + i : integer; +begin + for i := (FModules.Count - 1) downto 0 do + UnloadModule(i); +end; + +procedure RegisterModuleClass(AModuleClass : TModuleControllerClass); +var + x : Integer; +begin + x := FModuleClassList.IndexOf(AModuleClass); + if x < 0 then + begin + Classes.RegisterClass(AModuleClass); + FModuleClassList.Add(AModuleClass); + FModuleHandleList.Add(IntToStr(HMODULE(FindClassHInstance(AModuleClass)))); + end; +end; + +procedure UnRegisterModuleClass(AModuleClass : TModuleControllerClass); +var + x : Integer; +begin + x := FModuleClassList.IndexOf(AModuleClass); + if x >= 0 then + begin + FModuleClassList.Delete(x); + FModuleHandleList.Delete(x); + Classes.UnRegisterClass(AModuleClass); + end; +end; + +function GetModuleClass(AHandle: HMODULE): TModuleControllerClass; +var + x : Integer; +begin + Result := Nil; + + x := FModuleHandleList.IndexOf(IntToStr(AHandle)); + if x <> -1 then + Result := TModuleControllerClass(FModuleClassList.Items[x]); +end; + + +initialization + FModuleClassList := TClassList.Create; + FModuleHandleList := TStringList.Create; + +finalization + FreeAndNIL(FModuleClassList); + FreeAndNIL(FModuleHandleList); +end. diff --git a/Source/uInterfaces.pas b/Source/uInterfaces.pas new file mode 100644 index 0000000..9524fe1 --- /dev/null +++ b/Source/uInterfaces.pas @@ -0,0 +1,54 @@ +unit uInterfaces; + +interface + +uses + Windows, Classes, Forms, Menus, ActnList, Controls, uModuleController; + +const + GET_MODULE_FUNC = 'GetModule'; + +type + TGetModuleFunc = function : TModuleController; stdcall; + + { IModule } +{ IModule = interface(IHostAware) + function GetDefaultAction: TAction; + property DefaultAction: TAction read GetDefaultAction; + + function GetDescription: string; + property Description: string read GetDescription; + + procedure SetHModule(const Value: HModule); + function GetHModule: HModule; + property ModuleHandle: HModule read GetHModule write SetHModule; + + function GetMenu: IModuleMenu; + property Menu: IModuleMenu read GetMenu; + + function GetModuleName: string; + property ModuleName: string read GetModuleName; + + function GetSmallImages: TImageList; + function GetLargeImages: TImageList; + function GetLargeImagesDisabled: TImageList; + function GetLargeImagesHot: TImageList; + function GetSmallImagesDisabled: TImageList; + function GetSmallImagesHot: TImageList; + property SmallImages: TImageList read GetSmallImages; + property LargeImages: TImageList read GetLargeImages; + property SmallImagesDisabled: TImageList read GetSmallImagesDisabled; + property LargeImagesDisabled: TImageList read GetLargeImagesDisabled; + property SmallImagesHot: TImageList read GetSmallImagesHot; + property LargeImagesHot: TImageList read GetLargeImagesHot; + end;} + +implementation + +uses + SysUtils, Dialogs, + uHostManager; + +{ TModuleInfo } + +end. diff --git a/Source/uModuleController.dfm b/Source/uModuleController.dfm new file mode 100644 index 0000000..1892417 --- /dev/null +++ b/Source/uModuleController.dfm @@ -0,0 +1,7 @@ +object ModuleController: TModuleController + OldCreateOrder = False + Left = 594 + Top = 308 + Height = 150 + Width = 215 +end diff --git a/Source/uModuleController.pas b/Source/uModuleController.pas new file mode 100644 index 0000000..41298d9 --- /dev/null +++ b/Source/uModuleController.pas @@ -0,0 +1,96 @@ +unit uModuleController; + +interface + +uses + SysUtils, Classes, + uModuleMenu, ImgList, Controls, ActnList, Menus; + +type + TModuleController = class(TDataModule) + private + FDescription : String; + FModuleName : String; + FModuleHandle : HModule; + FModuleMenu : TMainMenu; + FHModule: HModule; + FAuthor: String; + FVersion: String; + FDefaultAction : TAction; + FSmallImages : TImageList; + FLargeImages : TImageList; + FSmallImagesDisabled : TImageList; + FLargeImagesDisabled : TImageList; + FSmallImagesHot : TImageList; + FLargeImagesHot : TImageList; + public + constructor Create(AOwner : TComponent); override; + destructor Destroy; override; + property ModuleHandle: HModule read FHModule write FHModule; + protected + procedure Notification(AComponent: TComponent; + Operation: TOperation); override; + published + property DefaultAction: TAction read FDefaultAction write FDefaultAction; + property Description: string read FDescription write FDescription; + property ModuleMenu: TMainMenu read FModuleMenu write FModuleMenu; + property ModuleName: string read FModuleName write FModuleName; + property SmallImages: TImageList read FSmallImages write FSmallImages; + property LargeImages: TImageList read FLargeImages write FLargeImages; + property SmallImagesDisabled: TImageList read FSmallImagesDisabled write FSmallImagesDisabled; + property LargeImagesDisabled: TImageList read FLargeImagesDisabled write FLargeImagesDisabled; + property SmallImagesHot: TImageList read FSmallImagesHot write FSmallImagesHot; + property LargeImagesHot: TImageList read FLargeImagesHot write FLargeImagesHot; + property Author: string read FAuthor write FAuthor; + property Version: string read FVersion write FVersion; + end; + + TModuleControllerClass = class of TModuleController; + +implementation + +{$R *.dfm} + +uses + Dialogs; + + +{ TModuleController } + +constructor TModuleController.Create(AOwner: TComponent); +begin + inherited; + FModuleHandle := 0; +end; + +destructor TModuleController.Destroy; +begin + inherited; +end; + +procedure TModuleController.Notification(AComponent: TComponent; + Operation: TOperation); +begin + inherited Notification(AComponent, Operation); + if Operation = opRemove then + begin + if ModuleMenu = AComponent then + ModuleMenu := NIL; + if DefaultAction = AComponent then + DefaultAction := NIL; + if SmallImages = AComponent then + SmallImages := nil; + if SmallImagesDisabled = AComponent then + SmallImagesDisabled := nil; + if SmallImagesHot = AComponent then + SmallImagesHot := nil; + if LargeImages = AComponent then + LargeImages := nil; + if LargeImagesDisabled = AComponent then + LargeImagesDisabled := nil; + if LargeImagesHot = AComponent then + LargeImagesHot := nil; + end; +end; + +end. diff --git a/Source/uModuleMenu.pas b/Source/uModuleMenu.pas new file mode 100644 index 0000000..c72efb8 --- /dev/null +++ b/Source/uModuleMenu.pas @@ -0,0 +1,90 @@ +unit uModuleMenu; + +interface + +uses + Menus; + +type + + { IModuleMenu } + IModuleMenu = interface(IInterface) + ['{8C844424-13F3-44D6-8B50-F723F964E816}'] + function GetName: string; + procedure SetName(const Value: string); + property Name: string read GetName write SetName; + + function GetItems(Index: Integer): TMenuItem; + property Items[Index: Integer]: TMenuItem read GetItems; + + function GetItemsCount: Integer; + property ItemsCount: Integer read GetItemsCount; + + function AddItem: TMenuItem; + end; + + { TModuleMenu } + TModuleMenu = class(TInterfacedObject, IModuleMenu) + private + FMenu: TMenu; + function GetName: string; + function GetItems(Index: Integer): TMenuItem; + function GetItemsCount: Integer; + procedure SetName(const Value: string); + public + constructor Create(const AMenuCaption: String); + destructor Destroy; override; + function AddItem: TMenuItem; + property Name: string read GetName write SetName; + property Items[Index: Integer]: TMenuItem read GetItems; + property ItemsCount: Integer read GetItemsCount; + end; + +implementation + +uses + SysUtils; + +constructor TModuleMenu.Create(const AMenuCaption: String); +begin + FMenu := TMenu.Create(nil); + if AMenuCaption <> '' then + FMenu.Items.Caption := AMenuCaption; + inherited Create; +end; + +destructor TModuleMenu.Destroy; +begin + FMenu.Free; + inherited; +end; + +function TModuleMenu.AddItem: TMenuItem; +begin + Result := TMenuItem.Create(FMenu); + FMenu.Items.Add(Result); +end; + +function TModuleMenu.GetName: string; +begin + Result := FMenu.Items.Caption; +end; + +function TModuleMenu.GetItems(Index: Integer): TMenuItem; +begin + Result := FMenu.Items.Items[Index]; +end; + +function TModuleMenu.GetItemsCount: Integer; +begin + Result := FMenu.Items.Count; +end; + +procedure TModuleMenu.SetName(const Value: string); +begin + if FMenu.Items.Caption <> Value then + FMenu.Items.Caption := Value; +end; + +end. + diff --git a/Source/uReg.pas b/Source/uReg.pas new file mode 100644 index 0000000..818c181 --- /dev/null +++ b/Source/uReg.pas @@ -0,0 +1,27 @@ +unit uReg; + +{$I PluginSDK.inc} + +interface + +procedure Register; + +implementation + +uses + Classes, + {$IFDEF DELPHI6UP} + DesignEditors, DesignIntf, VCLEditors, + {$ELSE} + DsgnIntf, + {$ENDIF DELPHI6UP} + ToolsAPI, + uHostManager, uModuleController; + +procedure Register; +begin + RegisterComponents('Rodax Plugin', [THostManager]); + RegisterCustomModule(TModuleController, TCustomModule); +end; + +end. diff --git a/Templates/uSamplePluginController.dfm b/Templates/uSamplePluginController.dfm new file mode 100644 index 0000000..aab133e --- /dev/null +++ b/Templates/uSamplePluginController.dfm @@ -0,0 +1,11 @@ +object ModuleController1: TModuleController1 + OldCreateOrder = True + Description = 'Ventas' + ModuleName = 'Ventas' + Author = 'David' + Version = '1.0.0' + Left = 605 + Top = 361 + Height = 258 + Width = 407 +end diff --git a/Templates/uSamplePluginController.pas b/Templates/uSamplePluginController.pas new file mode 100644 index 0000000..2963f39 --- /dev/null +++ b/Templates/uSamplePluginController.pas @@ -0,0 +1,35 @@ +unit uSamplePluginController; + +interface + +uses + uModuleController, uInterfaces, uHostManager; + +type + TModuleController1 = class(TModuleController) + private + { Private declarations } + public + { Public declarations } + end; + +implementation + +{$R *.dfm} + +function GetModule : TModuleController; +begin + Result := TModuleController1.Create(nil); +end; + +exports + GetModule name GET_MODULE_FUNC; + +initialization + RegisterModuleClass(TModuleController1); + +finalization + UnRegisterModuleClass(TModuleController1); + + +end.