Solved

incompatible types, String and PChar

Posted on 1997-10-08
2
1,014 Views
Last Modified: 2008-03-06
hi,

When trying to find the Windows dir I use this,

Var
WinDirLen: Integer;
WinDir: PChar;
dir : string;
Begin
GetMem(WinDir, 255);
WinDirLen := GetSystemDirectory(WinDir,255);
dir := Windir;
FreeMem(WinDir);
end;

And I have this in my FormCreate;

Image1.Picture.Bitmap.Handle:= NViewLibLoad('c:\Program Files\Empire\800x600.jpg',false);

if I use this

Image1.Picture.Bitmap.Handle:= NViewLibLoad(dir + '800x600.jpg',false);
I get incompatible types String and PChar;

Please show me how it will work.

this is in the var that follows before implementation.
function NViewLibLoad(FileName : PChar; ShowProgress: BooLean):hbitmap; Stdcall; external 'NViewLib.dll';
0
Comment
Question by:hellfire052497
  • 2
2 Comments
 
LVL 3

Accepted Solution

by:
mirek071497 earned 50 total points
ID: 1347070
I think so you need to know how the conversion between strings can be done.

in many ways.

Image1.Picture.Bitmap.Handle:= NViewLibLoad( PChar( string(dir) + '800x600.jpg' ),false);

when s is type PChar then String(s) give you long string.
when s is Long String then PChar(s) give you type PChar.

so in your problem string(dir) give you long string
PChar(      string(dir)+'800x600.jpg'   ) give you PChar.
0
 
LVL 3

Expert Comment

by:mirek071497
ID: 1347071
Hi

sorry i just see so dir is string no pchar. Then you can use use this without string(dir) :

Image1.Picture.Bitmap.Handle:= NViewLibLoad( PChar( dir + '800x600.jpg' ),false);

0

Featured Post

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Performance of SQL statement 37 111
Dev express lookupcombo 3 28
Drag & Drop... Data from one grid to another 2 16
Multi-layered image in FireMonkey 9 34
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
Introduction Raise your hands if you were as upset with FireMonkey as I was when I discovered that there was no TListview.  I use TListView in almost all of my applications I've written, and I was not going to compromise by resorting to TStringGrid…
This tutorial gives a high-level tour of the interface of Marketo (a marketing automation tool to help businesses track and engage prospective customers and drive them to purchase). You will see the main areas including Marketing Activities, Design …
In a recent question (https://www.experts-exchange.com/questions/28997919/Pagination-in-Adobe-Acrobat.html) here at Experts Exchange, a member asked how to add page numbers to a PDF file using Adobe Acrobat XI Pro. This short video Micro Tutorial sh…

777 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question