Re: delphi without dfm

Francisco Sanchez wrote:

> we have a library which does exactly that: compresses, encrypts and
> obfuscates dfms. It's called Citadel (

Very Interesting.

Are there any known issues (Vista etc)
Can the component be used for encrypting other resources (such as bitmaps,
incorporated into the executable using $R) as well

Also, I notice the latest version is for Delphi 2006, not 2007.
Will this component also support Delphi 2008 etc

Arthur Hoornweg

(In order to reply per e-mail, please just remove the ".net"
from my e-mail address. Leave the rest of the address intact
including the "antispam" part. I had to take this measure to
counteract unsollicited mail.)

Posted On: Wednesday 3rd of October 2012 03:10:16 AM Total Views:  472
View Complete with Replies

Related Messages:

fortress   (98 Views)
> "Fortress is doing for Fortran what Java did for C/C++." > -- Guy Steele Can anyone help me understand this I don't see enough relationship between Java and C++ to understand the connection.
Interesting Borland-CodeGear side note in article about Embarcadero from last december   (117 Views) This looks promising. At least, they won't try some stupid ideas with CG, since they already tried for themselfs.
Multi-dimensional arrays: static dimensions, rectangular versus jagged types, component aliasing   (315 Views)
Hi I am a frequent user of multi-dimensional arrays. They are a great data structure, but there is still scope for improvement! Below I list some deable features that are not AFAIK available in Delphi 7. Perhaps some or all these features are already available in later versions of Delphi. Can anyone advise 1. ocation and resizing of multi-dimensional dynamic arrays containing some static dimensions. The SetLength method for allocating or re-dimensioning a dynamic array leaves something to be deed, because not sufficiently general to handle arrays containing some static dimensions. Consider the following type definitions: type TMyRecord= record Value: integer; {...} end; TDynamicArray1D= array {DimensionSize0} of TMyRecord; TDynamicArray2DA= array {DimensionSize1} of TDynamicArray1D; TDynamicArray3DA= array {DimensionSize2} of TDynamicArray2DA; TDynamicArray2DB= array {[{DimensionSize1=}2} of TDynamicArray1D; {*Static* array type} TDynamicArray3DB= array {DimensionSize2} of TDynamicArray2DB; var DynamicArray3DA: TDynamicArray3DA; DynamicArray3DB: TDynamicArray3DB; begin SetLength(DynamicArray3DA, 10, 6, 3); {This succeeds} SetLength(DynamicArray3DB, 10, 2, 3); {This fails} ... end; Array type TDynamicArray3DA, whose dimensions are all dynamic, can be allocated with a single SetLength call. On the other hand, array type TDynamicArray3DB, which contains a static dimension at level 1, cannot be allocated by a single call to SetLength. One has to write SetLength(DynamicArray3DB, 10); for i:= 0 to 9 do for j:= 0 to 2 do SetLength(DynamicArray3DB[i, j], 3); What we need is another dynamic array allocation method having syntax along the following lines: SizeArray(var DynamicArray, DimensionSizeArray]; where DimensionSizeArray= '[' DimensionSize {',' DimensionSize} ']'; DimensionSize= DynamicDimensionSize | StaticDimensionSize; DynamicDimensionSize= IntegerExpression; StaticDimensionSize= 'S' | ' ' An integer expression is provided for each dynamic dimension, whilst the character 'S' or ' ' is provided for each static dimension. Thus the sizing statement for the above array could be written SizeArray(DynamicArray3DB, [10, S, 3]); {S stands for 'Static dimension'} or SizeArray(DynamicArray3DB, [10, , 3]); 2. Differentiation between rectangular and jagged arrays. C# differentiates between rectangular and jagged arrays. Delphi D7 doesn't, as far as I am aware. It would be deable to support both cases and if necessary extend the SizeArray method to handle both cases. 3. Extending the "with" statement to alias array component references. To avoid unnecessary repeated multiple subscripting it would be deable to have an extended 'with' syntax along the following lines: for i:= 0 to High(DynamicArray3DB) do with DI as DynamicArray3DB[i] do {DI is an alias for DynamicArray3DB[i]} begin SI:= i*100; for j:= 0 to High(DI) do with DIJ as DI[j] do begin SIJ:= SI + j*10; for k:= 0 to High(DIJ) do begin with DIJ[k] do begin {.}Value:= SIJ + k; end; end; end; end; If only reading array component values, one can avoid unnecessary multiple subscripting by using separate variables pointing to dynamic arrays as follows: var DynamicArray3DA: TDynamicArray3DA; DI: TDynamicArray2DA; DIJ: TDynamicArray1D; begin SetSizeArray(DynamicArray3DA, [10, 5, 3]); for i:= 0 to High(DynamicArray3DA) do begin DI:= DynamicArray3DA[i] ; SI:= i*100; for j:= 0 to High(DI) do {etc.} This approach cannot be used efficiently when writing array component values, because of Delphi's copy on modify policy. For writing one has to use: for i:= 0 to High(DynamicArray3DB) do with DI as DynamicArray3DB[i] do {DI is an alias for DynamicArray3DB[i]} begin SI:= i*100; for j:= 0 to High(DI) do begin DIJ:= DI[j]; SIJ:= SI + j*10; for k:= 0 to High(DIJ) do begin with DIJ[k] do begin {.}Value:= SIJ + k; end; end; DI[j]:= DIJ; {Must copy modified array back to parent array component!} end; end;
Cannot resize form at design time.   (136 Views)
I have a form that used to resize at design time but now will not. It has a border style of none, but even if I change this I cant resize it either by dragging or entering a new number in "width". Any ideas what might be causing this Many
Digital Signature   (137 Views)
I have a DLL and I want to add a Digital Signature to this file. How can I do this Must I buy one I'm new on this one.
D7 Breakpoints   (100 Views)
Apparently D7 will not honor breakpoints whenever a certain character is in the source code. I have seen this problem at least three times in the past, and have been able to solve the problem by isolating the section of the source that creates the problem, deleting it, and reentering the source code. The character does not show in the IDE, so I have no idea what to search for. It apparently is a fairly easily entered code (perhaps Ctrl & another key). Does anyone have any ideas on what the character is or how to locate it, or negate it, without having to spend several hours isolating it and reentering the code
TStream history   (94 Views)
, I am researching about the introduction of TStream and TFileStream, but I can't find anything in the subject. Does anyone in which Delphi version where they introduced I am sure they already worked in Delphi 2. Even better something talking about the standard Pascal I/O routines vs. TFileStream. I already tryed google, but nothing specific came.
More adventures with Help   (81 Views)
I'm using some Int64 variables and needed a reminder of the maximum and minimum values Int64 will store. So I highlighted the text 'Int64' and hit F1. The result: two references to Int64 in the .Net framework (but I'm programming in Win32). Never mind: I remembered Rudy's assertion that the content is nearly all there, it's just the indexing that could do with some work. So in the Help Document Explorer window I typed 'Int64' into the 'Look for' box. Masses of stuff appeared referring to .Net, so I filtered on 'Language: Delphi'. A reasonable step, wouldn't you think But no: there is nothing listed (the nearest being 'Int64Rec', which is not what I wanted). I filtered on 'RAD Studio' and 'RAD Studio for Win32 Platform' and still nothing. This is a pathetic joke. "Raise a QC!", someone will cry. Frankly, I would probably end up raising dozens of QCs every week - all pretty well duplicates with just the keyword different in each case. The right way to deal with this is not with QCs, in my opinion - this is a systematic shortcoming rather than a large number of discreet bugs. Also, a respected 'old hand' in the Delphi world contacted me after I'd raised a number of concerns about the shortcomings in the editor, and advised me not to bother raising QCs because they won't be acted upon anyway. Maybe he's right - last time I looked there are bugs going back four or five years still on there and unaddressed. So, , do I REALLY have to raise literally dozens of QCs, one for each keyword F1 fails to find Or is there a better way of convincing CodeGear to sort this out SteveT
Embarcadero's Director of Product's Blog   (106 Views) -- Nick Hodges Delphi Product Manager - CodeGear
movable type or wordpress blog   (112 Views)
so which is better -- Dennis Landi ied Data, Inc. Electron Server
Embarcadero and Firebird/Interbase   (147 Views)
Just now, when CodeGear was signing that we would have an approximation between Delphi and Firebird after a long time far due the effects of the not well solved Interbase code opening, Delphi falls in the hands of another DB company... What we can expect related to Firebird compatibility Worse, what can we expect about Interbase future
[2007] Setting default directory?   (197 Views)
I created a shortcut for D2007 with the following parameters: Target = "C:\Program Files\CodeGear\RAD Studio\5.0\bin\bds.exe" -pDelphi Start In = "C:\Projects\Delphi\" But when I choose "File > Save " with a new project, BDS still sends me to "My Documents > RAD Studio > Projects" by default. Is there a way to have BDS remember my prefered, default location Thank you.
CodeGear and Embarcargo Prediction   (103 Views)
CodeGear and Embarcargo Prediction 1. Embarcadero is going to take a few developers off of CodeGear's front line to build a new modeling tool using Delphi source. 2. Embarcadero is going to let at CodeGear keep their job and continue on as if they have not been bought out. 3. Delphi and C++ Builder will follow the roadmap as projected. 4. If you're a Delphi or C++ Builder you have nothing to worry about. 5. If you have never heard of Embarcargo you probably will see no new benefit over what CodeGear was already going to do. 6. If you are currently using RemObjects or some other middleware you will probably switch to Embarcargo. 7. In short: nothing new to see here move along.
Please do not break product activation..   (98 Views)
HI! As a reseller and partner for 15 years I have seen many times that when companies are sold (Jee this time!!!) old product activation & registration is broken at same time. PLEASE make sure that it won't happen this time. We just got over with some old products from Borland Servers and workaround so we could still give support to older versions and end user could user and install them also. As there are changes on Vista and 64-but still too many old versions are installed and used. AND activated/registered.. If you do this right that will be 1/3 of good customer care.. 1/3 is of course good quality apps (that is finally a reality again) and then 1/3 is steady/good release cycle with bug fixes/service Packs regurlary.. Just my 5 cents from Codegear partners around world..
Horizontal band using bho in windows explorer   (338 Views)
I am invoking a horizontal band using bho in windows explorer while starting up I tried the following, but it doesnt invoke, results in an error "Invalid variant operation", the code is in delphi. Following is the code snippet IE := pUnkSite as IWebbrowser2; if Assigned(IE) and (InitialiseShellType = stWindowsExplorer) then begin BandId.vt := VT_BSTR; BandId.bstrVal := '{CC546B07-8E2E-4D7B-AAF6-BDDBFDD738F5}'; vtShow.vt := VT_BOOL; vtShow.boolVal := True; vtSize.vt := VT_INT; vtSize.IntVal := 0; IE.ShowBrowserBar(BandId,vtShow,vtSize); IE := Nil; end; From some other newsgroup, I gathered that there might be something wrong with boolval := True, which I am not very sure. I would appreciate if any one could shed some light on solving this
How can I ignore a mouse click?   (220 Views)
My application executes a third party dll that can take up to 15 seconds to execute and I want to ignore any mouse clicks on a particular control whilst the dll is running. If I set control.enabled to false, then call the dlll, then set enabled back to true after the dll has run any mouse clicks whilst the dll was running execute as soon as I re-eable the control. How can I lose them I have found that if I add a showmessage immediately before setting enabled to true the they do get lost but I do not want the user to see anything. (I have set the cursor to crHourGlass whilst the dll runs)
Re: Multi core   (84 Views)
Marco van de Voort wrote: > > I agree Arthur. A quick glance at task manager > > shows that I have 65 processes running on my > > workstation. It is hard to imagine how 4 cores > > would not help with that. > > So they are all eating CPU at once Or do most of them happen to be > "0%" You drive your car 24h by day -- Cesar Romero Liws - Software Development
Re: Multi core   (80 Views)
Marco van de Voort wrote: > And how many release builds do you do a day Enough to have a 2nd > core on standby Note that one can imagine fringe uses. (a bit > compression here, odd photoshop filter there), but is that really > worth it Absolutely yes, in my opinion. The job of a computer is to enhance my life, by making my work easier, my entertainment richer, my X more Y, what have you. Any time that I have to sit and wait for something to run lessens that positive effect. The cost of multi-core CPUs is quite low, and on my current dual-core I quite often have both cores cranking at a mid-range percentage. That will only increase - another of the 'fringe' cases you mention is digital audio workstations, with virtual instruments and effects. These are effectively multiple separate programs, performing heavy calculations to render audio, running simultaneously. For my current needs my dual-core is fine, but if I get into more complex compositions, I'll certainly be able to make good use of a quad - or larger - core.
looking for version differences   (209 Views)
Does anyone know if there is available a table of keywords/reserved words for Delphi, version by version I'm about to start on a new job, and looking to bring them forward -- a table would be helpful.... -- Bill
Undeclared Identifier   (93 Views)
, I am having trouble with identifiers. When I declare a variable, like "qryCompare : TQuery", I get a red line under the portion that says TQuery and a message saying that the identidier was not declared. Is there something that I missed along the way