delphi

How do I write a Delphi Galileo IDE Expert?

HI, I want to write a small Delphi IDE Expert for D2007-D2009 (aka. Galileo IDE) in order to show a window with a TMemo instance on it, with all the component names and classes from the form designer in the above memo. The selected component will be marked with a '*'. The expert should appear on a menu/toolbar and have a shortcut assign...

Consuming an ADO.NET Data Service from a WIN32 Delphi application. How?

Simple. I created a LINQ-TO-SQL Entity model, created a website, added a Data Service (*.svc) to this site and made sure it works by writing a simple .NET console application. The service works fine and cannot be modified. Now I'm going to write a Delphi application (2007) for WIN32 which will have to call this data service. And while D...

Generic factory

Hi all, suppose I have a TModel: TModelClass = class of TModel; TModel = class procedure DoSomeStuff; end; and 2 descendants: TModel_A = class(TModel); TModel_B = class(TModel); and a factory : TModelFactory = class class function CreateModel_A: TModel_A; class function CreateModel_B: TModel_B; end; Now I want to refactor...

How to detect specific Delphi builds?

This is related to another Delphi-version question but still different; I'm looking for a way to detect the service-pack (or build number) of the Delphi compiler that's compiling my code. The jedi.inc is nice, but it doesn't tell me the exact version. (I can't use the SUPPORTS_* defines in there either, as those are version-related too...

TMenuItem-Shortcuts overwrite Shortcuts from Controls (TMemo)

What can I do that shortcuts for menu items don't overwrite those from local controls? Imagine this simple app in the screenshot. It has one "undo" menu item with the shortcut CTRL+Z (Strg+Z in German) assigned to it. When I edit some text in the memo and press CTRL+Z I assume that the last input in the memo is reverted, but instead the...

How to increase the FOR-loop value in a FOR-loop statement?

Hello, I want to know how to increase the value in a FOR-loop statement. This is my code. function Check(var MemoryData:Array of byte;MemorySignature:Array of byte;Position:integer):boolean; var i:byte; begin for i := 0 to Length(MemorySignature) - 1 do begin while(MemorySignature[i] = $FF) do inc(i); //<< ERROR << if(memorydata...

How can I kill a process based on the version number of its .EXE file?

I want to find a process that belongs to a .EXE file with a specific file version number, and kill it. How can I do that? I am working with Delphi, but any general help would be appreciated. ...

dbExpress error in Delphi 2007

I have had Delphi 2007 for a while. I tried the Delphi 2009 trial. Then I un-installed the trial. Now I get this in a dbExpress Delphi 2007 application: --------------------------- Debugger Exception Notification --------------------------- Project ABC.exe raised exception class TDBXError with message 'Unable to load dbxora.dll (Err...

FastMM4 says "The block header has been corrupted"

Hi. I had this nasty bug that disappeared in the past but now after quite some time it returned. I have two TSam objects (derived from TPersistent) created and loaded into an TAsmJob object (derived from TObjectList). At runtime, a form creates a TStringGrid and then the AsmJob which creates those two SAM objects (and load some data fr...

What all APIs are affected by {$IOCHECKS OFF}?

We have some ancient Delphi code (might have even originated as Turbo Pascal code) that uses {$I-}, aka {$IOCHECKS OFF}, which makes the code use IOResult instead of exceptions for disk I/O errors. I want to get rid of the {$I-} and bring this code forward into the 1990s, but to do that, I'd like to know what all is affected by {$IOCHE...

How to bring front or launch browser in Delphi

I need to either bring front browser window if it is already running or launch the browser from my application. I'm now using ShellExecute to open a new browser, but it will eventually create many browser instances or tabs. So how to check if the browser is already running and switch the application to browser? I'm currently using this:...

is 'absolute' faster than Move()?

Hello, For example,We have a DWORD = $12345678 Which of the instructions would be faster - absolute or Move()? var a:DWORD = $12345678; b:Array[0..3] of byte absolute a; var a:DWORD = $12345678;b:Array[0..3] of Byte begin Move(a,b,4); end; Specifically,I'm asking what exactly 'absolute' does,because if it doesn't use additio...

How to assign multiple values to an Open or Fixed-size array?

Hello, I want to do the following,but I get errors: procedure JumpToCodeCave(CurrentLocation:DWORD;Destination:Pointer;out_JmpBack:Pointer); var calc:DWORD; jmppatch:Array[0..3] of byte absolute calc; Buffer:Array[0..9] of byte; begin calc := (Cardinal(Destination) - $5)-(CurrentLocation + $4); Buffer := [$90,$90,$90,$90,$E9,jmppat...

Creating new C# version of existing COM object to use in Delphi program

We had a bit of a problem where we have lost some source code for a very old ActiveX component we had. We've got a Delphi7 program that calls the Active X component. Thats a bit of a moster and can't be changed too much. However, some of the functionality in the Active X component needs to be updated. Since we've been moving our apps to ...

EventHandler inside a TFrame ?

I have a TForm (TVehicleEditForm) with 3 identical TFrames (TVehicleUnitFrame) inside. The idea was that every instance of the frame handle own events by a eventhandler inside the frame. The problem is that the eventhandler is not called. I have tried to assign the eventhandler by code inside the frame by overriding the Create method b...

Why Do You Use Delphi?

Nick Bradbury (the author of HomeSite, TopStyle and FeedDemon) just posted a fascinating explanation of why he uses Delphi: http://nick.typepad.com/blog/2009/07/why-i-use-delphi.html I'd like to know if there are other reasons. Why do you use Delphi? (I'm making this community wiki from the onset. I'm interested in hearing your answe...

How to get all the classes and properties of a Com Object.

Hello everybody, Anyone knows if there is any Delphi component or library that I could get all the classes, properties and types of an Com Object (something like a parser). i want to programmatically enumerate classes, properties and types. Bye. ...

How to diagnose "Cannot access package information" error in Delphi IDE

I am developing a set of TFrame-based components that inherit from one another (as so many who have helped me tremendously along the way already know!), and am running into yet another little "snag," related to packages and installation. I have essentially the following hierarchy: TFrame TBaseFRame TBaseSizeableFrame TViewerType1 ...

How to create a thread in Delphi?

Hello, I use the following function to show controls on my form: class procedure TFormMain.FadeControls(ctrl:Array of TwinControl); var element:TwinControl; begin for element in ctrl do begin PrepareForAnimation(element); element.Visible := true; AnimShowControl(element,250); end; end; However,it slows down with 250...

Controlling z-axis / bring-to-front at runtime (Delphi)

In Delphi, how do you control a visual control's z-axis position at runtime? e.g. How, programmatically and at runtime, do you accomplish the equivalent of (from the IDE main menu) "Edit -> Bring to Front" at designtime? ...