derleme esnasında hata veriyor.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Delphi08
Üye
Mesajlar: 25
Kayıt: 29 Tem 2004 09:16

derleme esnasında hata veriyor.

Mesaj gönderen Delphi08 »

Derleme esnasında Aşağıdaki hatayı veriyor.Neden acaba ?
Internal error:L3170
Kullanıcı avatarı
serkan1634
Üye
Mesajlar: 17
Kayıt: 13 Nis 2005 10:37

konu ne

Mesaj gönderen serkan1634 »

konunun ne olduğunu anlamadımayrı başlıkta açılms ondan
her şey yaratana dönüşten ibarettir
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

Compiler Errors: Delphi
Internal error: <element><name>

List of compiler error messages

Occasionally when compiling an application in Delphi, the compile will halt and display an error message that reads, for example:

Internal Error: X1234

This error message indicates that the compiler has encountered a condition, other than a syntax error, that it cannot successfully process.

The information after "Internal Error" contains from one to three characters and is immediately followed by a number that indicates the file and line number in the compiler itself where the error occurred. Although this information may not help you, it can help us (Borland) track down the problem if and when you report the error. Be sure to jot down this information and include it with your internal error description.

What to do if you encounter an internal error

Follow these steps to resolve an internal error:

1. If the error occurs immediately after you have modified code in the editor, go back to the place where you made your changes and make a note of what was changed.
2. If you can undo or comment out the change and then recompile your application successfully, it is possible that the programming construct that you introduced exposed a problem with the compiler. If so, skip to "Review the code" below.
Otherwise, follow the next few steps to resolve your problem.

1. Delete all of the .dcu files associated with your project.
2. Close your project completely using File|Close All, then reopen your project, this will clear the unit cache maintained in the IDE. Alternatively, you can close the IDE and restart.
3. Another option is to try and recompile your application using the Project|Build option so that the compiler will regenerate all of your dcus.
4. If the error is still present, exit the IDE and try to compile your application using the command line version of the compiler (dcc32.exe) from a command prompt. This will remove the unit caching of the IDE from the picture and could help to resolve the problem.

Review the code

If the problem still exists, go back to the place where you last made modifications to your file and review the code.

Typically, most internal errors can be reproduced with only a few lines of code and frequently the code involves syntax or constructs that are rather unusual or unexpected. If this is the case, try modifying the code to do the same thing in a different way. For example, if you are typecasting a value, try declaring a variable of the cast type and do an assignment first.

Examples

begin

if Integer(b) = 100 then...
end;
var
a: Integer;
begin
a := b;
if a = 100 then...
end;

Here is an example of unexpected code that you can correct to resolve the error:

var

A : Integer;
begin
{ Below the second cast of A to In64 is unnecessary; removing it can avoid the Internal Error. }
if Int64(Int64(A))=0 then
end;

In this case, the second cast of A to an Int64 is unnecessary and removing it corrects the error.

If the problem seems to be a "while...do" loop, try using a "for...do" loop instead. Although this does not actually solve the problem, it may help you to continue work on your application. If this resolves the problem, it does not mean that either "while" loops or "for" loops are broken but more likely it means that the manner in which you wrote your code was unexpected.

Once you have identified the problem, we ask that you create the smallest possible test case that still reproduces the error and submit it to Borland.

Techniques for resolving Internal Errors

Here are some ways to try and resolve internal errors:

If error seems to be on code contained within a while...do loop try using a for...do loop instead or vice versa.
If it uses a nested function or procedure (a procedure/function contained within a procedure/function) try "unnesting" them.
If it occurs on a typecast look for alternatives to typecasting like using a local variable of the type you need.
If the problem occurs within a with statement try removing the with statement altogether.

Try turning off compiler optimizations under Project|Options|Compiler.

When all else fails

Typically, there are many different ways to write any single piece of code. You can try and resolve an internal error by changing the code. While this may not be the best solution, it may help you to continue to work on your application. If this resolves the problem, it does not mean that either "while" loops or "for" loops are broken but perhaps that the manner in which you've written your code was unexpected and therefore resulted in an error. If you've tried your code on the latest release of the compiler and it is still reproducible, create the smallest possible test case that will still reproduce the error and submit it to Borland. If it is not reproducible on the latest version, it is likely that the problem has already been fixed.

Configuring the IDE to avoid Internal Errors

Create a single directory where all of your .dcp files (precompiled package files) are placed. For example, create a directory called C:\DCP and under Tools|Enviroment Options select the Library tab and set the DCP output directory to C:\DCP. This setting will help ensure that the .dcp files the compiler generates are always up-to-date which is particularly useful when you move a package from one directory to another. You can create a .dcu directory on a per-project basis using Project|Options|Directories/Conditionals|Unit output directory. The key here is that you always want to be using the most up-to-date versions of your .dcu and .dcp files. Otherwise, you may encounter internal errors that are easily avoidable.
DElphi yardımdan alöıntıdır
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.

***********************************
Cevapla