Is MS office 64 bit compatible with Delphi 6 applications? - delphi

My application is developed in Delphi 6, The application have some document management modules which works fine with 32 bit MS word, but not with 64 bit MS Word.
A type library called WORD_TLB is used to access the MS word functions from delphi code. Can i generate a new type library or something else to make the application work with 64 bit MS word? Is it even possible for a Delphi 6 application to work with MS WORD 64 bit?
Please suggest.

Is it even possible for a Delphi 6 application to work with MS WORD 64 bit?
Yes, it is possible to automate 64 bit Office applications from a 32 bit Delphi process. The Office applications execute as out of process COM servers and so the mismatch of bitness is not an issue.
I'm sure that you do have a problem, but that problem is not due to trying to automate 64 bit out of process COM servers from a 32 bit process.

Related

tlbinf32.dll in a 64bits vba/Ms Access

Sorry by my English I speak Spanish.
I have an app in Ms Access 64 bits. My goal is to store a serialized collection of objects in a field of a table. For this I am using a function published in VB Helper http://www.vb-helper.com/howto_vb6_serialize.html, for which I must have access to tlbinf32.
Well, this dll is 32 bit but thanks to #Simon Mourier's answer tlbinf32.dll in a 64bits .Net application it can be added as COM+ Application for use in 64 bits applications. This has been going great, but how do I reference it in a vba module using Tools -> References?
Thanks in advance
Eduardo

Anything yet on writing an App in Delphi XE2 to utilize new additions in Windows 8? [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Resources for native Metro app development with Delphi
I've been searching for anything about how to utilize the new additions in Windows 8 in a Delphi XE2 application. Although I know there's the new WinRT API, there has to be some resource of how to actually use it in Windows 8. It should be simple things, like how to customize how the start menu tile shows, etc. I'm sure someone's already taken the time to figure these things out, and I'm trying to find it. The best I could find is This, but no source code.
Any leads on this? I just need some guidelines to using the WinRT API for Windows 8 in Delphi XE2.
Delphi XE2 pre-dates Windows 8 as you know. Windows 8 is not even finalised and the new WinRT is radically different from Win32. There is no support for WinRT in XE2.
Anyone who is using Delphi to create WinRT apps is doing an awful lot of low level hacking. This is not a viable long term approach. Any code you may be able to produce this way will surely be thrown away when proper Delphi tooling arrives. So, in my view, you will have to wait for official Delphi support, or use the MS tools.

Seeking FOSS SHA1

I am looking for a FOSS SHA1 implementation for use with Delphi (7).
Preferably something small, maybe even standalone SHA1, rather than past of a humongous library. Ease of install and use are nice, but of course reliability is priority number 1.
Update:Thanks, Rob, that code works like a dream
Use the Cryptography API built in to the OS. You can use the Hashes.pas unit by Domingo Seoane to use it in Delphi, or you can write your own routine using CryptAcquireContext, CryptCreateHash, repeated calls to CryptHashData, and finally CryptGetHashParam to get the result.
I realize it's neither free (as in speech) nor open source, but there are also no distribution requirements since it's included on all your customers' systems already.
TurboPower LockBox is free and open-source and implements SHA1, as well as many others:
Features
AES
SHA2 (including the new SHA-512/224 & SHA-512/256)
DES/3DES
Blowfish
Twofish
SHA1
MD5
RSA Sign &
Verify
Chaining modes: ECB, CBC, CFB8, CFB, CTR, ECB, OFB, PCBC
Version 3 officially supports Delphi 2007 and Delphi 2010 (but may work with Delphi 7), but Version 2 has support for older versions of Delphi.
You have Open Source MD5, SHA-1, SHA-256, and Adler32 implementation in the SynCrypto.pas unit. There is also included AES-256 encryption.
This unit was very optimized for speed (the SHA-256 an AES-256 was even profiled at asm level), and can also use the very fast real-time instructions of the VIA C3/C7/Nano CPU if available.
Works from Delphi 6 up to XE.
You most probably already have SHA-1 implementation preinstalled within IdHashSHA1 unit (part of Indy 10).

Delphi compiler for 64bit computers [duplicate]

This question already has answers here:
Closed 11 years ago.
Possible Duplicate:
Delphi 64-bit Preview Compiler available?
Hello!
I know this message will annoy some people, but anyway...
Does anybody know if something is going on with 64bit Delphi?
Does Embarcadero or anybody else developing compiler for 64 bit computers?
Can we expect something in near future?
I looked arround and found very different information, but it would be good to know
to be prepared when everybody will start using 64 bit computers.
Any information will be much appreciated.
Petra.
If you're willing to give up dependence on the VCL, FPC and Lazarus can build 64-bit code.
The official statement for 64-Bit is here: http://edn.embarcadero.com/article/39174
In short: 64-Bit requires many changes to the compiler and they are working on it.
Officially, information about future editions of Delphi and C++ Builder is presented in "Roadmaps". The latest Roadmap can be found here:
http://edn.embarcadero.com/article/39934
This is a slide from the presentation:
(source: embarcadero.com)
"64 bit computers" run current 32bit Delphi executables just fine.
Some people need 64bit executables to access more memory and/or to write drivers, but in my opinion most people don't need 64bit Delphi.
As Andreas pointed out, the most recent word is that they're planning on having a 64-bit compiler in the next preview. With so much to be done, I wouldn't be surprised if the beta cycle for it started real soon, maybe even before the new year.
Keep checking the forums and the Embarcadero blogs (DelphiFeeds.com is a good place to keep abreast of all the news) and you'll probably hear about it starting soon enough. Sign up for the beta and you'll get a chance to test out the 64-bit Delphi system and provide feedback that may even shape the development of the product.

How to write a memory manager that maps 4 GB for Delphi

I have an object that uses more than 2 gigabytes of virtual memory
But Delphi only managers 2 GB
I'm considering ether making a number of objects and grouping them and using the windows wow64 method some how and use 64 bit windows.
Or just upgrading memory manager to 4 GB and build it around Int64.
effectively I need TStream as the base object with Int64 used, instead of integers.
Lexdean, you're saying:
effectively I need TStream as the base object with Int64 used, instead of integers
Well then, you're in luck (twice) because:
Delphi's TStream uses Int64 for position, it can access files much larger then 4Gb.
If a TStream interface is enough, you can write your own TStream to do whatever you want, you don't need to wait for an native 64bit Delphi compiler.
But if I were to answer the question in the title:
How to write a memory manager that maps 4 giggs for Delphi
There's no way to do that with an 32bit compiler. Join the crowd of people asking for an 64 bit Delphi compiler!
Having a single 2 gigabyte object is not a good idea. If memory is fragmented you won't be able to allocate one even if the amount of free memory is enough. I would suggest that you try to use a list of smaller objects.
(I remember how in Turbo Pascal (the predecessor to Delphi) a variable couldn't be larger than 64 kilobyte... Oh, the times... ;)
Unfortunately there's no Delphi compiler as of yet that compiles 64-bit code. You can get more out of your 32-bit address space if you put {$SetPeFlags IMAGE_FILE_LARGE_ADDRESS_AWARE} in the DPR, though. It sets a flag in the PE header that lets Windows know it can allocate more than 2 GB of virtual memory to it.
Guffa's right, though. If your object is trying to grab 2GB+ of contiguous memory, you're probably doing something wrong. What are you trying to do? Maybe there's a simpler way...
You can use AWE APIs to obtain access to more memory in win32 apps. But you have to think your code around AWE rather than adapt AWE usage for your code. What I mean is that you can write a TAWEMemoryStream ... but it is not a good idea.

Resources