Link to home
Start Free TrialLog in
Avatar of Ron_de_Weijze
Ron_de_Weijze

asked on

what windows unit instead of qt unit

Dear expert,

I just deployed my application and it generates an error upon installing on other machines.

"this application has failed to start because qtintf70.dll was not found"

I found an explanation here:
https://www.experts-exchange.com/questions/21342076/Application-wont-start-qtintf70-dll-was-not-found.html?query=qtintf70.dll&clearTAFilter=true

indeed, automatically a unit called Qt was used somewhere. it should be replaced by a windows one. do you know which one?

thanks!


{*****************************************************************************}
{                                                                              
{ Pascal Binding for Qt Library                                                
{                                                                              
{ Copyright (c) 2000, 2001 Borland Software Corporation                        
{                                                                              
{ This file may be distributed and/or modified under the terms of the GNU    
{ General Public License version 2 as published by the Free Software          
{ Foundation and appearing at http://www.borland.com/kylix/gpl.html.          
{                                                                              
{ Licensees holding a valid Borland No-Nonsense license may use this file      
{ in accordance with the license and appearing in the file license.txt        
{                                                                              
{*****************************************************************************}
Avatar of 2266180
2266180
Flag of United States of America image

well, the fastest and simplest and sureest solution is to fireup your favorite file manager (total commander for example) and do a text search on the project dir and search for qt. it shouldn't find too many results unless you used some variables whatever that contain qt in their name. after finding the offending uses clauses, just modify it to your need.
Avatar of MerijnB
you should probably only take the Q out of the offending units name (so QGraphics -> Graphics, and QControls -> Controls)
ignore the qt search string. dunno what I was thinking. I had the impression that the unit starts with qt :D my bad.
so fire up total commander, check text for searching enter
uses\ +[q|Q].+
just the way it is above. check regexp and click start
this will find you all files that have a Q unit as the first unit in the uses clause. (and maybe some that also cotain "uses q"something :) )
if nothing is found then use
uses\ +.+,\ +[q|Q]+
just the way it is above. check regexp and click start
this will find you all files that have a Q unit in teh uses clause (and maybe some junk that have "uses blabla, qblabla")
Avatar of malsoft
malsoft

Ron,

I'm guessing that you're writing a cross-platform application as you're using the QT library on windows. That being the case, the simplest option for you is to deploy the qtinf70.dll along with your application (check the deploy.txt file in the base Delphi directory). If that's not something you are comfortable with, then you could try MerijnB's suggestion about changing the name of the units in the uses clause (removing the 'Q' prefix) - but watch out for QTypes (you should already have a Types unit included)
Avatar of Ron_de_Weijze

ASKER

Thank you all!

The Qt unit called for in one unit must be called for by this unit B I used
http://delphi.about.com/library/code/ncaa112503a.htm

Qt is in the uses clause of unit A. When I take out the uses clause, I get the error:

"exception EClassNotFound in module aaaaa.exe at address bbbbb. Class TMRUMenuItem not found"

This has to do with a problem I put on this forum earlier:

https://www.experts-exchange.com/questions/22002868/Error-Exception-EClassNotFound-in-component-TadpMRU.html?query=tmrumenuitem&clearTAFilter=true 

Ciuly, I do not have total commander. I have searched the program directory and no file turned up. It must be in a dephi component.

Malsoft, I am not even writing for cross-platform! It just so happened that this unit was entered without my noticing it. I assume that you are saying that putting qtinf70.dll next to the exe file will stop this errormessage? (Just making sure.)

The unit is called 'Qt'. So taking out the 'q' just leaves the 't'. This file is not found.

Thanks so far!



(valt me nu pas op: aan de naam te zien Nederlander? hoi :))

So if you take out the unit QT it does compile but gives this error?
You are right with your assumption (I assume that you are saying that putting qtinf70.dll next to the exe file will stop this errormessage?) But I think it isn't really the solution you want.
ASKER CERTIFIED SOLUTION
Avatar of malsoft
malsoft

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
(Leuk je te ontmoeten Merijn!)

I now found out that a workaround I thought would do no harm, does indeed do harm!
And the QT does not even play a role then!

Leaving out the QT unit and applying my workaround does make the program compile and run. Otherwise, I get the message "exception EClassNotFound in module aaaaa.exe at address bbbbb. Class TMRUMenuItem not found".

That workaround is (as described in the other problem on this forum, mentioned above):

When I close all files or restart Delphi, the first thing I need to do is open the menu component, its File-Reopen item and delete the paths to files I used, that are kept in the registry. Once I have done that, the problem is gone. And, as mentioned, QT that is supposed to be managing that (I guess), is not needed at all!





Malsoft, you are very helpful!

1. Yes.
2. Yes.
3. No.
4. Not sure. It works on another machine not used for development. However, I used this testing procedure before I knew about the current problem. Perhaps you would want to try it for me: http://www.pmm.nl/test.exe
5. Still undetermined

Does http://www.pmm.nl/test.exe generate the errormessage "this application has failed to start because qtintf70.dll was not found" on any machine of yours?

Thanks for your feedback!
no problems here, I just checked to be sure, I do not have qtintf70.dll on my machine
Ron,

I tried this on a fresh copy of Win2k Pro and it started without any problems and there's no copy of qtinf70.dll on that machine. Are you still getting the problem? Looks like MerijnB and myself can run it without the error you describe. Is there something we should be doing, like creating multiple files first (so the MRU component has something to work on)?
If the test exe does run without the use of the QT unit, then the installation should not abend any more either, but just to make sure, could you try it for me?

http://www.pmm.nl/demo/PMM06080.exe

like a charm!
Works fine for me :)
Losing QT altogether made it work..
Thank you all very much!

Ron dW
Sorry guys,

I uploaded an 'installation file' which was just an executable. Forgive me. Would you mind trying again?

http://www.pmm.nl/demo/PMM06080.exe  This time it should really install the exe file and other files such as the help file.

There should hopefully be no errormessage of the kind this log started with, occurr during installation.

... and get your points here:

https://www.experts-exchange.com/questions/22034799/Please-test-installing-this-app-in-your-environment-configuration-It-should-be-no-problem.html

Thanks again.

-R