Exif component

Has anyone made a conversion for the CCR Exfi component to be used with Delphi 7?

Or anyone knows a good free component that can READ and WRITE Exif of photos?

Thanks in advance :)
LVL 16
CodedKSenior Software EngineerAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

CodedKSenior Software EngineerAuthor Commented:
Aikimark thank you for the comment but :

TExif is only for reading not for writing.
TGJPGCommentInfoP is only for comments! Not EXIF.
EXIF Reader is only for reading.
SnapTouch can write only the date stamp and its not free.
NativeJpg is for JPEG manipulation, thats why it costs 70$ ...

I've search in torrys components and saw all it has to offer.
Thats why i posted requesting a translation of CCR to Delphi 7.

The last link is confusing... Its what i need to be translated to Delphi 7.
Dagan HooverDeveloperCommented:
I don't have Delphi 7 anymore. But what exactly needs to be translated? I didn't know there were that big of jumps from 7 to 2007. I didn't notice any when I moved between them.
Announcing the Winners!

The results are in for the 15th Annual Expert Awards! Congratulations to the winners, and thank you to everyone who participated in the nominations. We are so grateful for the valuable contributions experts make on a daily basis. Click to read more about this year’s recipients!

CodedKSenior Software EngineerAuthor Commented:
Hi ThievingSix :)

Well there are a lot of errors i cant make any sense.
I cant start trying to convert it .

Error like unit out of date or corrupted, invalid resource, error creating form, missing units.
CCR.Exif.StreamHelper seems to be the culprit.

In my 2006 compiles just fine. But i need to use D7.
Dagan HooverDeveloperCommented:
Could you possible paste all the error messages here? Right click where all the errors show in the Messages view window and "Save all messages". Then paste the resulting text file here?
CodedKSenior Software EngineerAuthor Commented:
Except from the form errors it always stucks here : (Line33)
I'm sure it hgas more errors

  [Fatal Error] CCR.Exif.StreamHelper.pas(33): System unit out of date or corrupted: missing 'TClassHelperBase'

Error reading lblmeans.ExplicitHeight (does not exist) [Ignore and continue]  <- Popup

If i comment line33 then :
  [Error] CCR.Exif.JpegUtils.pas(137): Declaration expected but 'INLINE' found
  [Error] CCR.Exif.JpegUtils.pas(147): Declaration expected but 'INLINE' found
  [Error] CCR.Exif.JpegUtils.pas(149): Declaration expected but 'INLINE' found

and i'm sure if i comment this one more will popup until i comment all the code :)
Dagan HooverDeveloperCommented:
Alrighty. The inline's have to go I guess. Didn't know 7 doesn't support them. Shouldn't affect normal operation.

Class helpers aren't supported by delphi 7. So replace line 33 in StreamHelpers with "TStream = class(Classes.TStream)". I think TStream is in classes originally, I can't remember. Then in that same unit all the class declarations(function TStreamHelper --> function TStream) needs to be updated.

ExplicitHeight is from the dfm files for the demo applications that are created. You can open up each of the dfm's with notepad and remove those lines.

In JpegUtils you'll need to make sure that all references to TStream come from the StreamHelpers unit. [CTRL] + Click the word TStream in JpegUtils to make sure. I think it should be just fine since the StreamHelpers is last in the uses clause. Worse comes to worse you can just do "TStream" --> "StreamHelpers.TStream". Same thing with the Exif unit.

Like you said I'm sure there shall be more errors so lets work through them as they appear. One question though, if you have Delphi 2006 why do you have to use 7?

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
CodedKSenior Software EngineerAuthor Commented:
Thanks ThievingSix :)
I will try this. Its even better to do it myself so i can learn something.
Now ... I was expecting this :)
I want to do it in D7 because i want to finish the application there
with all my installed components i might need.
D2006 is in my laptop that is pretty much useless and old.

Thanks for your help and time.
I might need further assistance :) later on.
CodedKSenior Software EngineerAuthor Commented:
I need some more time to check it out...
This isn't neglected. :)
http:#25384967 should be the accepted answer unless CodedK says otherwise.
CodedKSenior Software EngineerAuthor Commented:
Sadly I never had the time to try this.

The project died but i always wanted to make an app like this for me... Thats why i didn't close the question.
I remember one or two things were missing from ThievingSix comment but it gave the best direction.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Editors IDEs

From novice to tech pro — start learning today.