Solved

How to fix this component that works fine in D7 for D2010?

Posted on 2011-03-09
7
340 Views
Last Modified: 2012-05-11
The problem is in char, I don't know how to fix it

any help I thank very much

alex

you can download it from here

http://htlink.hidrautorque.com.br/arquivo/hddinf.zip

0
Comment
Question by:hidrau
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
7 Comments
 
LVL 17

Expert Comment

by:TheRealLoki
ID: 35088529
that zip file is zero length when I try to download it...
0
 
LVL 37

Expert Comment

by:Geert Gruwez
ID: 35089091
you'll probably have to change some char entries to ansichar
or ansistring
0
 
LVL 32

Expert Comment

by:Ephraim Wangoya
ID: 35089380

The link you setup does not exist
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 24

Assisted Solution

by:jimyX
jimyX earned 200 total points
ID: 35090038
Lines 1270 & 1479 change the AnsiChar to Char and the _OSVERSIONINFOA to _OSVERSIONINFOW:

Line 1270:
Instead of:
   InqBuf : array[1..59] of AnsiChar;
Change it to:
    InqBuf : array[1..59] of Char;

Line 1479:
Instead of:
var osvi:_OSVERSIONINFOA;
Change it to:
var osvi:_OSVERSIONINFOW;
0
 
LVL 24

Expert Comment

by:jimyX
ID: 35090040
0
 

Accepted Solution

by:
guyinwonder earned 300 total points
ID: 35091169
Line 1479:
var osvi:_OSVERSIONINFOA;
changed to 
var osvi:_OSVERSIONINFOW;

For line 1312:
    for i := 9 to 32 do IdeInfo.Model[i-8] :=  Inqbuf[i];
changed to 
    for i := 9 to 32 do IdeInfo.Model[i-8] :=  char(Inqbuf[i]);

line 1313:
    for i := 33 to 36 do IdeInfo.Revision[i-32] := Inqbuf[i];
changed to 
    for i := 33 to 36 do IdeInfo.Revision[i-32] := Char(Inqbuf[i]);

Line 1314:
    for i := 37 to 56 do IdeInfo.Serial[i-36] := Inqbuf[i];
changed to 
    for i := 37 to 56 do IdeInfo.Serial[i-36] := Char(Inqbuf[i]);

Open in new window

0
 
LVL 1

Author Comment

by:hidrau
ID: 35094253
thanks
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…

730 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