Delphi Undeclared identifier ansistring - delphi

I use delphi xe8.
I get an error when compile my programm on step
CyrStr = type AnsiString(1251)
"Undeclared identifier ansistring"
What library I need to use?

You are probably compiling for a target that doesn't support AnsiString. The mobile compilers don't support AnsiString while the desktop compilers do.

Related

Error message linking a C++ Builder 10.1 Berlin project

[ilink32 Error] Error: Unresolved external '__fastcall System::Variant::Exec(System::AutoCmd&, int) const' referenced from
I am getting the above error message when I am trying to use the new 32-bit compiler in C++ Builder 10.1 Berlin instead of the classic compiler.
This same piece of code compiles successfully using the classic compiler.
I know something is probably missing (a lib?), but what?
Any idea?

Use c++/CLI library in Xamarin.Android

I have an Android app in which I want to use some functions imported from c++/cli library. However, as the c++/clr projects compiles either in x86 or in x64, I get an exception unless I compile my clr project in clr/safe mode (which is too restrictive).
I also tried to use P/Invoke but I got a Dllnotfound exception.
Is there any way that I can overcome this problem?
Thank you very much.

GraphicEx with Delphi 10.1 Berlin

I installed GraphicEx (a Delphi image loader library) in Delphi 7, and it worked fine.
Now, when I try to install it in Delphi 10.1 Berlin, I get errors:
[dcc32 Error] JPG.pas(1136): E2065 Unsatisfied forward or external declaration: 'jpeg_reset_huff_decode'
[dcc32 Error] JPG.pas(1258): E2065 Unsatisfied forward or external declaration: '#jfwrite'
[dcc32 Error] JPG.pas(1258): E2065 Unsatisfied forward or external declaration: '#jfflush'
[dcc32 Error] JPG.pas(1258): E2065 Unsatisfied forward or external declaration: '#jfread'
[dcc32 Fatal Error] GraphicEx.pas(613): F2063 Could not compile used unit 'JPG.pas'
So, how can I use GraphicEx in Delphi 10.1 Berlin?
As described on the page to which you link, this library has not been updated to the latest versions of Delphi. However, you will most likely find that you do not need it any more. Recent Delphi versions have out of the box support for JPEG and PNG images formats.
Resolve your problem by removing references to this library and using the built in image format support.
If you are using the library for the more esoteric image formats that it offers then you will need to update it to work with the your version of Delphi.
In the first instance, the compilation errors that you report are simply down to your not having added the necessary folders to your search path. The object files that define those functions are found in the 3rd party\LibJPG\obj folder. You must add that to your search path. When you do that you will get another error. Keep resolving them one by one.

Delphi XE4 What do I have to include to use the function FmxHandleToObjC

I have just installed XE4 and I am trying to complie some sampel apps for osx from the web.
I can't compile as I get "Undeclared identifer FmxHandleToObjC" error
I have setup the SDK and cant find any help on the web.
Any ideas?
That function was defined in FMX.Platform.Mac in XE3 but has been removed in XE4. The replacement functionality appears to be WindowHandleToPlatform.

How to handle compiler warning "IncludeTrailingBackslash is specific to a platform"?

When compiling my application, there is a compiler warning:
[DCC Warning] ... W1002 Symbol 'IncludeTrailingBackslash' is specific to a platform
How do I avoid this warning?
Delphi XE2 has another function IncludeTrailingPathDelimiter which can be used in place of IncludeTrailingBackslash. This function is supported on any platform that Delphi supports.
To avoid the warning, turn it off in the config dialog. This turns off all other plattform specific warnings as well, which might be helpfull, as you are not going to develop Linux-Apps anyway, I assume.
To get around the warning, use another function (IncludeTrailingPathDelimiter) as you suggested.

Resources