Delphi LoggerPro -> LoggerPro.FMXMemoAppender - delphi

The GitHub repo of LoggerPro does not contain a file LoggerPro.FMXMemoAppender.pas, but I assume this file is needed to use LoggerPro with FMX frameworks apps.
How to change VCL file to FMX file?

Related

How to restore the project file C++ Builder 10.3

Is there an easy way to restore *.cbproj file out of *.cpp, *.h, *.dfm in C++Builder 10.3 if the project file was lost or corrupted.
No, there is no such option. You need to create a whole new project from scratch and add your existing source files to it as needed.

Delphi package compiles without the finding the unit file of a referenced type?

Today I'm trying to figure out why something works when I think it should be broken.
I have little Delphi experience, and I've inherited a Delphi codebase and am setting up a machine where it will be maintained and compiled. I have a package that compiles successfully but can't figure out how it is resolving one of the types. My understanding is that when you use a unit, you must either
Include the source file in your package directly
Resolve the source pas or dcu file on your project search path
Resolve the source pas or dcu file on your IDE library path
None of these appear to be happening, and yet the package compiles. How else could this be compiling successfully?
Details
I have 'base' package that has a direct include on the file THotLog.pas. The file appears under the project's Contains folder in Project Manager. THotLog is NOT one of the components in the package, it is not in the register procedure for base package.
I then have 'consuming' package that requires base package. Consuming package has several components with THotLog members, and consuming package compiles. This surprises me, because I thought consuming package would have to be able to locate THotLog.pas or THotLog.dcu.
This is for RAD Studio 10.1. The project search path (Project > Options : Search path) is empty, and the IDE search paths (Tools > Options , then Environment Options > Delphi Options > Library) do not include where THotLog is.
I've also tried renamed all THotLog files on the hard drive and consuming package still compiles.
Hypothesizing that my understanding about type resolution is wrong, I tried making a set of sample projects with a similar layout and the sample consuming package cannot resolve sample THotLog without locating the pas or dcu file.
When you build a Delphi package, the compiler/linker creates a Compiled Package File named [package-name].dcp. It is a binary file containing all of the compiled units included in that package.
Compiling your "base" package created a [base-package].dcp file that is visible to the "consuming" package. The "consuming" package is referencing the base-package in its "Requires" section; this is the link to the base package's DCP file.
Delphi Compiled Package File

Using 3rd party framework for IOS in Delphi Firemonkey

I need to use SendAnywhere SDK (github.com/estmob/SendAnywhere-IOS-SDK) for IOS in Delphi Seattle (www.embarcadero.com/products/delphi). I have to convert obj-c code into delphi, like Embarcadero did that with native frameworks.
I have already read these articles:
The quest to migrate iOS SquareCam App to Firemonkey
Delphi for iOS - some notes
They are the most complete guides for using native frameworks. But what about 3rd party?
What folders have I to put downloaded from GitHub files in?
There is an static .a library in SDK. How to include/import/use/open it in a FMX project?
Or I need to create my own static library from this SDK. But How?
Where to start from?
If you have a framework file it usually includes a set of header files and a static library. You can extract the static library (the file with the same name as the framework) and rename it by adding an '.a' extension. You can then use that file directly your Delphi project. I have done this with XE8 to X10.
Simply put the static library in your path when you build and you also need to trick the Delphi compiler to link it. Just add a line of code to your implementation section of your unit such as:
procedure LibWhatever2; cdecl; external 'libWhatever.a' name 'OBJC_CLASS_$_SomeClassName'

Delphi .proj file missing .dpk file

I recently got project in delphi which I need to rearange, I'm totally new in delphi so I'm searching my way in environment and language. Question, in my project group I have two files with .dproj extension, no corresponding .dpr file so when I try to load them I got msg:
"Canot open file xxxx.dpk, system cannot find the file specified"
Did the old programmer forgot to copy all files so I'm missing this, or is this some kind of file (.dproj) that I only add as a reference so I don't need to have corresponding .dpk or .dpr file??
The .dpk file is the top level Pascal source file for a package. It is the package equivalent of an application project's .dpr file.
The original developer should have supplied it to you. Ask them to do so.

Unable to open or even add Resource files in my Delphi 7

Every single time i either try to open or add a resource file to my project or just open it within delphi it will throw me an error (I have tried .rc,.res,.rc..all kinds of extensions) and it will say that the file has been truncated or that Delphi cannot open or add this type of file. any ideas?
You cannot open a .res file in the Code Editor, as it is a binary file. You can open an .rc file, as it is a plain text file.
You can certainly add both .rc and .res files to a project, though. The IDE should not complain about that.

Resources