Searching for a Delphi job? If you are an expert in marketing then this is for you. Do not worry, we’ve a right answer for your job interview preparation. If you are preparing for Delphi job interview, we will help you in clearing the interview through Wisdomjobs interview questions and answers page. Delphi is both an object oriented programming language (OOP) and an Integrated Development Environment (IDE). used to develop applications ranging from database solutions to mobile applications and is used on Windows as well as Linux. Candidates are very less in number who are skilled in this software. Good knowledge on Delphi is required for this job. Below are the Delphi interview questions and answers which makes you comfortable to face the interviews:
Question 1. What Should I Give To Windows Api Functions That Want A Hwnd?
Answer :
Each form has a property called Handle, which contains the form's hWnd. Many controls also have hWnd properties. However, don't try to pass Canvas.Handle to an API function expecting a hWnd, because TCanvas's Handle property is a hDC, not a hWnd.
Question 2. Why Do I Get Exception Messages Even Though I Am In Protected Code?
Answer :
By default, the internal debugger will halt any time there is an exception, even if the exception is trapped by code. This can often be useful for debugging purposes. If it offends you, turn it off. You control it from the Options/Environment menu.
Question 3. How Do I Write A Global Error Handler?
Answer :
Use the Application.OnException event. Look in the help under "application events" for details of how to create and attach an event handler to the application variable.
Question 4. I Am Trying To Call From Delphi And It Gpfs. Whats Up?
Answer :
Based on the number of postings to comp.lang.pascal, it would seem that by far the largest number of problems calling Windows API functions or non-Delphi DLLs are caused by passing Pascal-style strings to functions that expect null-terminated (PChar) strings.
This is the first thing you should check if you get a GPF or other strange results when calling an external function. See section 6.11 for more information on which type of strings go where.
Question 5. When I Use The Glyph Property, How Do I Know Which Color Is Transparent?
Answer :
Delphi always assumes that the color of the bottom left-hand corner pixel is the background color and should be displayed as transparent. Yes, it took me a while to figure this out. It's not documented anywhere, but if you have the VCL source, you can look at the code in BUTTONS.PAS.
Question 6. How Does Delphi Handle Windows Callbacks?
Answer :
Just like C: You can get a far pointer to your callback procedure (you have to remember to declare it with the "far" qualifier, unless you have {F$+} in effect to force all calls to be far), pass the pointer to the Windows callback function, and there it is.
Question 7. How Does Delphis Exception Handling Work?
Answer :
The basic structure goes something like this:
p := new(big_thing);
try
blah(p);
foo(p);
finally
dispose(p);
end;
The first line allocates a big block of memory. Then, in the "try" block, we execute several statements, each of which might produce an error--or, in other words, "raise an event." If an error does occur, the rest of the "try" block will be skipped, "finally" blocks will be executed.
If there are no errors, then the "finally" block will be entered when the last statement in the "try" block completes. So, either way, the big block of memory gets freed. These "try/finally" blocks will trap anything up to and including a Windows GPF.
Question 8. Do I Have To Understand Object-oriented Programming To Use Delphi?
Answer :
Well, yes, to a point. Delphi's user interface design tools produce object-oriented code. However, if you're familiar with either Visual Basic or Powerbuilder, you probably have enough understanding of OOP to get by.
You can do a great deal in Delphi without having to create your own objects, which is the point at which it becomes important to really understand something about them.
Question 9. Do I Have To Know A Lot About The Windows Api To Use Delphi?
Answer :
There seems to be a feeling that you need to know more about Windows to use Delphi than you do to use Visual Basic. This isn't really true; you can get by in both environments with a very minimal understanding of Windows internals. However, in both environments, you have to know at least a little about the Windows API in order to really make the most of what you have. The difference is that Delphi gives you a lot more power to do all these interesting things, so you feel more limited if you don't know how.
Question 10. How Do I Close A Modal Form? For That Matter, What Is The Best Way To Close Any Form?
Answer :
Generally speaking, you call the form's Close method. This runs the OnClose event, which may decide it doesn't want to close, for example if there is unsaved data in the form. Close doesn't free the memory associated with the form, unless of course you put a call to Release in the form's OnClose event.
If you want to close a form without giving it a chance to argue, call the form's Release method. This is similar to Free, but it allows event handlers (e.g. OnDestroy) to finish running before the memory goes away.
Modal forms "end their modal state" when you set the form's ModalResult property to anything greater than zero. If you put a button on a modal form and set the button's ModalResult property to some value, then when the user clicks on that button the form will close with the result you specified. You can find out what the result was by calling ShowModal as a function; i.e. result := Form.ShowModal.
Question 11. Are There Any Tools To Help Me Migrate My Applications To Delphi?
Answer :
There is an automated translator that converts Visual Basic projects to Delphi. I have heard from a couple people who have tried using it, and the results seem to be pretty mixed. It's very useful for some people, but not useful at all for others.
Question 12. Why Do I Get Compile Errors Acessing The Sender Object In Events?
Answer :
If you look at the declaration, the Sender object is of type TObject, which is the class from which (almost) all other objects are derived. You're probably trying to access a property that isn't defined in TObject, like Text or Caption or something. For this reason, "Sender.Text" will fail, but if (for example) you know that the sender is of type TEdit, then you could use "(Sender As TEdit).Text". If you aren't certain that the Sender object will always be the same type, you can check it with "if (Sender is TEdit) then < blah> ;".
Question 13. How Can I Manipulate Data Programatically?
Answer :
It is sometimes desirable to write code that deals with databases but is not associated with any particular form or user-interface details. To do this, you declare variables of type TDatabase, TTable and/or TQuery, and set their properties in code just as you would in the design environment. Make sure that you include the DB and DBTables units in your uses statement, or you will get "unknown identifier" errors during compilation.
Question 14. How Do I Write A Change Password Function For A Paradox Table?
Answer :
There is no way to do this within the Delphi VCL. Seems like a pretty serious omission to me. However, it is possible to do it by talking directly to the Borland Database Engine through the interface provided by the DBIPROCS and DBITYPES units.
You call DbiDoRestructure, but set all the "number of" variables to zero, which makes it leave the existing values intact. I have code to do this, but it's a bit too long to included here. E-mail graham (at) mhn.org if you want it.
Question 15. Can I Use The Odbc Drivers That I Got With ?
Answer :
Yes, generally. I have not encountered any ODBC drivers that don't work with Delphi, but on the other hand, I haven't tried any really exotic ones.
Question 16. Does Delphi Support The Back-end?
Answer :
Delphi Desktop does not directly support any back-ends except for Local InterBase, and of course the BDE (Borland Database Engine) itself. Delphi Client/Server directly supports Oracle, Sybase, Informix, and InterBase. In both cases, you can use third-party ODBC drivers to connect to any system you want.
Question 17. How Do We Get Access To A Database From Delphi?
Answer :
In general, you have to go to "BDE Config" and define an alias for the database you want to connect to. This allows you to avoid hard-coding a directory path into your application; you just refer to the alias. Then, you create a minimum of three objects on the desktop: A Query or Table object that actually talks to the alias and gets some data; a Data Source object that links between the data and the controls, and at least one data-aware control.
If you've been trying for hours to get this to work, and no matter what you do you just don't see anything happening, try setting the "active" property on the Table or Query to "True." This will open the database. I have seen many people get caught out by this the first time they try it.
Question 18. Can I Make Calls To Delphi Code From C Or C++?
Answer :
Delphi can generate DLLs, which can be called from C, C++, Visual Basic, Powerbuilder, or anything else that understands standard Windows DLLs. There is an example of a database-capable DLL in the DEMOSDBDLL directory.
As is the case in all Windows programming languages that I know of, DLLs are difficult to debug and will crash your system if they aren't quite right. Save your source code frequently.
Question 19. Can I Use Dlls Developed In C Or C++ From Delphi?
Answer :
Delphi is capable of making calls to and receiving callbacks from any standard Windows DLL. In addition, it is said to be possible (though rather tricky) to get Delphi to access classes within C++ DLLs. Borland's WWW server has instructions on how to do this. I wasn't able to get it to work, but I think that's because I have weird DLLs.
Question 20. What Technical Support Do We Get With Delphi?
Answer :
You get access to the "up and running" line, which will only answer questions related to installing Delphi and getting it to run on your machine. The long hold times that were common when Delphi was first released seem to have improved--the current average seems to be about five minutes or so.
In order to get what borland calls "consultative" tech support (I.E. someone with whom you can discuss reasons why a program is not working), you have to pay $2/minute. You can call (900) 555-1015 and have the charges put on your phone bill, or else (800) 330-3372 and use a credit card. I have called twice, and they couldn't answer my question either time; however, they didn't charge me for the calls.
Question 21. What If I Do Not Have A Cd-rom Drive?
Answer :
Borland will ship Delphi on 3.5" floppy diskettes, but they charge extra for them. The resellers I have spoken to only carry the CD-ROM version because they don't want to have to stock two different items. I got my copy on CD, but the CD has directories on it called DISK1 through DISK15, so I assume it would be 15 diskettes if you got it that way. If you don't get the CD, you won't get the stuff they use to fill up space on the CD, like an AVI file of an animated spinning Delphi logo.
Question 22. What Is The History Of Delphi?
Answer :
Delphi is the descendant of Turbo Pascal, which was first released in 1983 for the CP/M operating system. Turbo Pascal was ported to MS-DOS in early 1984. During the early history of the IBM PC, Turbo Pascal was arguably the most popular language for serious development work--mostly because it was a real compiler, including the program editor and everything, that cost $19.95 and would run on a 64k machine. Borland introduced Turbo Pascal for Windows in 1990. The latest release of Borland Pascal (as it is now called), not including Delphi, was version 7.0 in late 1992.
Question 23. Can We Write Multi-user Database Applications In Regular Delphi?
Answer :
Using regular, non-client/server Delphi, I have developed an application that talks to a Sybase server using ODBC drivers. I didn't have to go to any serious trouble getting it to work, and data access speed is quite acceptable, better than it was under Visual Basic.
Question 24. What Is The Difference Between Delphi And Delphi Client/server?
Answer :
Delphi Client/Server includes everything from Delphi Desktop, plus the following:
Question 25. How Much Disk Space, Memory, Etc, Do I Need To Run Delphi?
Answer :
The minimum installation of Delphi takes about 30Mb, and the full install takes 80Mb. In order to run it well, you'll need a 486 with a minimum of 8Mb of RAM, though I personally wouldn't try to run it in less than about 12Mb. I use a 486DX2/66 at home and a Pentium-90 at work, and to be honest, there's not much difference between them--Delphi's compiles are so fast that the CPU is really not a bottleneck.
Question 26. What Operating Systems Does Delphi Support?
Answer :
The only version of Delphi that has been released is for Windows 3.1. There is no reason why it should not run correctly under systems that provide Windows 3.1 emulation, like OS/2 Warp, Windows NT, etc. Borland has announced plans for a 32-bit version to coincide with Windows 95. It is rumored that this might be a free upgrade to users of Delphi 1.0, but I wouldn't count on it. It is also known that Delphi 1.0 does not run correctly on the prerelease version of Windows 95.
Applications built in Delphi are Windows 3.1, 16-bit applications. However, Borland has stated that existing Delphi applications will compile unmodified in 32-bit Delphi.
Answer :
Delphi is a product of Borland International. It is a native code compiler that runs under Windows 3.1 and provides visual programming tools somewhat similar to those found in Microsoft Visual Basic 3.0. The underlying language is Object Pascal, which is an extension of the object-oriented Pascal found in Turbo/Borland Pascal starting with version 5.5.
Question 28. What Are The Different Types Of Pointers Used In Delphi?
Answer :
Question 29. What Are The Different Types Of Inheritance Present In Delphi?
Answer :
Specialization inheritance: this is the type of inheritance in which the child class is the advanced version of the parent’s class.
Class inheritance: provides a way for the child class to include the features and complete properties of the parent’s class.
It is used to extend the parent class and provide the left out features and methods.
Abstract inheritance: this is the method that provides other skeleton methods which is being implemented by the child class.
Interface: this is the way by which the class implements all the skeleton methods by using the interface itself.
Question 30. What Is The Function Of Inheritance In Delphi?
Answer :
The example shows it:
Type
TBall = class
protected
ballSize : Byte;
published
procedure Kick(power : Byte);
function GetSpeed : Byte;
constructor Create(size : Byte);
end;
TFootball = class(TBall)
private
ballPanels : Byte;
published
constructor Create(size : Byte; panels : Byte);
end;
Question 31. What Does Memory Leak Show In Delphi?
Answer :
Question 32. What Is The Procedure To Access The Database From Delphi?
Answer :
Question 33. How Is The Memory Used Within An Object In Delphi?
Answer :
The example is as follows:
unit My;
interface
uses
Classes;
type
TMy = class
private
fileData : TStringList;
published
Constructor Create(const fileName : string);
Destructor Destroy; override;
procedure PrintFile;
end;
Question 34. What Is The Process Of Exception Handling In Delphi?
Answer :
The process of exception handling is as follows:
The program shows the use of exception handling:
p := new(hello);
try
me(p);
foo(p);
finally
dispose(p);
end;
Delphi Related Tutorials |
|
---|---|
Pascal programming Tutorial | Linux Embedded systems Tutorial |
Hadoop Tutorial | Hadoop MapReduce Tutorial |
Delphi Related Practice Tests |
|
---|---|
Pascal programming Practice Tests | Linux Embedded systems Practice Tests |
Hadoop Practice Tests | Hadoop Administration Practice Tests |
All rights reserved © 2020 Wisdom IT Services India Pvt. Ltd
Wisdomjobs.com is one of the best job search sites in India.