PDA

Visualizza la versione completa : [DELPHI] Componenti non trovati nell'apertura di un progetto


paolac78
08-12-2008, 17:56
buonasera,
sono un Ing. meccanico che sa molto poco di programmazione ma che deve modificare la lingua di un programma, credo, fatto con delphi c++.
l'estensione del file da cui è stato generato l'exe è : "file.dpr".
Quando però apro questo file.dpr, mi da diversi errori del tipo: "Class TMMLedGauge not found, Class TColorPanel not found, Class TApdDataPacket not found, Class TffTable not found, Class TffClient not found, Class TffSession not found, Class TffLegacyTransport not found, Class TffServerEngine not found, Class TffDataBase not found, Class TffTable not found, ecc..."; mi chiede pertanto se voglio ignorare l'errore anche se in tal modo non riuscirò a visualizzare tutto.

Quale può essere il problema? Secondo voi posso modificare un programma fatto da un altro? forse non ho le librerie per poterlo modificare? da dove posso scaricarle?

Grazie mille.

LeleFT
09-12-2008, 09:32
Quella in cui hai postato è l'area riservata a Visual Basic e i linguaggi .NET.

Delphi viene trattato nell'area "Programmazione" generica.

Sposto.


Ciao. :ciauz:

alka
09-12-2008, 09:44
Gli errori riscontrati sono dovuti al fatto che Delphi non è in grado di individuare i componenti utilizzati nel progetto.

Probabilmente, si tratta di componenti di terze parti che sono stati registrati nell'IDE e utilizzati nello sviluppo dell'applicazione, quindi sono necessari per poter modificare il progetto a designtime.

Difficile dire dove reperirli tutti: alcuni possono provenire da un fornitore ed essere OpenSource, altri magari sono a pagamento e provengono da una diversa software house. L'unico suggerimento che posso dare in questo frangente è quello di contattare chi si occupava della manutenzione del software in precedenza. :bhò:

Ciao! :ciauz:

paolac78
10-12-2008, 17:11
purtroppo non so chi ha fatto il programma e devo modificarlo necessariamente.
ti spiego, quello che devo cambiare non sono righe di codice ma le immagini e la lingua del programma.
il problema è che quando avvio il file.bpr (per la versione in C++) o il file.dpr (per la versione in Pascal) mi da gli errori che ti ho già scritto.
quando poi lancio il programma per creare l'exe, cerca invece le seguenti librerie: A406_R61, FF2_R61,ecc.

pur non avendo le librerie, partendo dall'exe già esistente ed utilizzando qualche programma per aprirlo (per esempio ResHacker.exe) c'è qualche modo per poterlo modificare?
e' possibile convertire le immagini da esadecimale in jpg e viceversa in modo da cambiare solo queste?

ti allego il file.bpr.

<?xml version='1.0' encoding='utf-8' ?>

<PROJECT>
<MACROS>
<VERSION value="BCB.06.00"/>
<PROJECT value="StopFumo2.exe"/>
<OBJFILES value="StopFumo2.obj mainForm.obj Procedi.obj userSelection.obj Retrocedi.obj
userDetails.obj InfoPage.obj slidePage.obj dataModule.obj spiroPage.obj
statisticsPage.obj trPage.obj conclusonPage.obj cardiactest.obj
alertForm.obj verificaNuovo.obj Barra.obj Control.obj User.obj
StatMacchina.obj DotsMenage.obj Treatment.obj setuptrPage.obj Seriale.obj
player.obj"/>
<RESFILES value="StopFumo2.res"/>
<DEFFILE value=""/>
<RESDEPEN value="$(RESFILES) mainForm.dfm dataModule.dfm alertForm.dfm player.dfm"/>
<LIBFILES value=""/>
<LIBRARIES value="A406_R61.lib tee.lib ff2_r61.lib vclx.lib dbrtl.lib vcldb.lib bfpakk.lib
rtl.lib vcl.lib"/>
<SPARELIBS value="vcl.lib rtl.lib bfpakk.lib vcldb.lib dbrtl.lib vclx.lib ff2_r61.lib
tee.lib A406_R61.lib"/>
<PACKAGES value="vcl.bpi rtl.bpi vclx.bpi dbrtl.bpi adortl.bpi vcldb.bpi qrpt.bpi
bdertl.bpi vcldbx.bpi dsnap.bpi cds.bpi bdecds.bpi teeui.bpi teedb.bpi
tee.bpi teeqr.bpi ibxpress.bpi visualclx.bpi visualdbclx.bpi vclie.bpi
xmlrtl.bpi inet.bpi inetdbbde.bpi inetdbxpress.bpi inetdb.bpi nmfast.bpi
bcbie.bpi soaprtl.bpi dbexpress.bpi dbxcds.bpi indy.bpi bcb2kaxserver.bpi
bfpakk.bpi dclocx.bpi ff2_r61.bpi"/>
<PATHCPP value=".;"/>
<PATHPAS value=".;"/>
<PATHRC value=".;"/>
<PATHASM value=".;"/>
<DEBUGLIBPATH value="$(BCB)\lib\debug"/>
<RELEASELIBPATH value="$(BCB)\lib\release"/>
<LINKER value="ilink32"/>
<USERDEFINES value="_DEBUG"/>
<SYSDEFINES value="NO_STRICT"/>
<MAINSOURCE value="StopFumo2.cpp"/>
<INCLUDEPATH value="C:\Programmi\Borland\Delphi6\Addons\APRO\source;C: \Programmi\Borland\Delphi6\Addons\FlashFiler\tpfla shfiler_2_13\source;$(BCB)\bfpack;C:\Programmi\Bor land\CBuilder6\Projects;C:\Lavoro\NewNoSmokingServ ice;$(BCB)\include;$(BCB)\include\vcl"/>
<LIBPATH value="C:\Programmi\Borland\Delphi6\Addons\APRO\source;C: \Programmi\Borland\Delphi6\Addons\FlashFiler\tpfla shfiler_2_13\source;$(BCB)\bfpack;C:\Programmi\Bor land\CBuilder6\Projects;C:\Lavoro\NewNoSmokingServ ice;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(BCB)\lib"/>
<WARNINGS value="-w-par"/>
<OTHERFILES value=""/>
</MACROS>
<OPTIONS>
<CFLAG1 value="-Od -H=$(BCB)\lib\vcl60.csm -Hc -Vx -Ve -X- -r- -a8 -b- -k -y -v -vi- -c
-tW -tWM"/>
<PFLAGS value="-$Y+ -$W -$O- -$A8 -v -JPHNE -M"/>
<RFLAGS value=""/>
<AFLAGS value="/mx /w2 /zi"/>
<LFLAGS value="-D&quot;&quot; -aa -Tpe -x -Gn -v"/>
<OTHERFILES value=""/>
</OPTIONS>
<LINKER>
<ALLOBJ value="c0w32.obj sysinit.obj $(OBJFILES)"/>
<ALLRES value="$(RESFILES)"/>
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mt.lib"/>
<OTHERFILES value=""/>
</LINKER>
<FILELIST>
<FILE FILENAME="StopFumo2.res" FORMNAME="" UNITNAME="StopFumo2.res" CONTAINERID="ResTool" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="StopFumo2.cpp" FORMNAME="" UNITNAME="StopFumo2" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="mainForm.cpp" FORMNAME="stopForm" UNITNAME="mainForm" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="Procedi.cpp" FORMNAME="" UNITNAME="Procedi" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="userSelection.cpp" FORMNAME="" UNITNAME="userSelection" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="Retrocedi.cpp" FORMNAME="" UNITNAME="Retrocedi" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="userDetails.cpp" FORMNAME="" UNITNAME="userDetails" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="InfoPage.cpp" FORMNAME="" UNITNAME="InfoPage" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="slidePage.cpp" FORMNAME="" UNITNAME="slidePage" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="dataModule.cpp" FORMNAME="dm" UNITNAME="dataModule" CONTAINERID="CCompiler" DESIGNCLASS="TDataModule" LOCALCOMMAND=""/>
<FILE FILENAME="spiroPage.cpp" FORMNAME="" UNITNAME="spiroPage" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="statisticsPage.cpp" FORMNAME="" UNITNAME="statisticsPage" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="trPage.cpp" FORMNAME="" UNITNAME="trPage" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="conclusonPage.cpp" FORMNAME="" UNITNAME="conclusonPage" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="cardiactest.cpp" FORMNAME="" UNITNAME="cardiactest" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="alertForm.cpp" FORMNAME="alert" UNITNAME="alertForm" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="verificaNuovo.cpp" FORMNAME="" UNITNAME="verificaNuovo" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="Barra.cpp" FORMNAME="" UNITNAME="Barra" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="Control.cpp" FORMNAME="" UNITNAME="Control" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="User.cpp" FORMNAME="" UNITNAME="User" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="StatMacchina.cpp" FORMNAME="" UNITNAME="StatMacchina" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="DotsMenage.cpp" FORMNAME="" UNITNAME="DotsMenage" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="Treatment.cpp" FORMNAME="" UNITNAME="Treatment" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="setuptrPage.cpp" FORMNAME="" UNITNAME="setuptrPage" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="Seriale.cpp" FORMNAME="" UNITNAME="Seriale" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
<FILE FILENAME="player.cpp" FORMNAME="mp3Form" UNITNAME="player" CONTAINERID="CCompiler" DESIGNCLASS="" LOCALCOMMAND=""/>
</FILELIST>
<BUILDTOOLS>
</BUILDTOOLS>

<IDEOPTIONS>
[Version Info]
IncludeVerInfo=0
AutoIncBuild=0
MajorVer=1
MinorVer=0
Release=0
Build=0
Debug=0
PreRelease=0
Special=0
Private=0
DLL=0
Locale=1040
CodePage=1252

[Version Info Keys]
CompanyName=
FileDescription=
FileVersion=1.0.0.0
InternalName=
LegalCopyright=
LegalTrademarks=
OriginalFilename=
ProductName=
ProductVersion=1.0.0.0
Comments=

[Excluded Packages]
c:\programmi\borland\cbuilder6\Bin\dclbcbsmp60.bpl =Borland Sample Controls Design Time Package

[HistoryLists\hlIncludePath]
Count=3
Item0=C:\Programmi\Borland\Delphi6\Addons\FlashFil er\tpflashfiler_2_13\source;$(BCB)\bfpack;C:\Progr ammi\Borland\CBuilder6\Projects;C:\Lavoro\NewNoSmo kingService;$(BCB)\include;$(BCB)\include\vcl
Item1=$(BCB)\bfpack;C:\Programmi\Borland\CBuilder6 \Projects;C:\Lavoro\NewNoSmokingService;$(BCB)\inc lude;$(BCB)\include\vcl
Item2=$(BCB)\include;$(BCB)\include\vcl

[HistoryLists\hlLibraryPath]
Count=3
Item0=C:\Programmi\Borland\Delphi6\Addons\FlashFil er\tpflashfiler_2_13\source;$(BCB)\bfpack;C:\Progr ammi\Borland\CBuilder6\Projects;C:\Lavoro\NewNoSmo kingService;$(BCB)\Projects\Lib;$(BCB)\lib\obj;$(B CB)\lib
Item1=$(BCB)\bfpack;C:\Programmi\Borland\CBuilder6 \Projects;C:\Lavoro\NewNoSmokingService;$(BCB)\Pro jects\Lib;$(BCB)\lib\obj;$(BCB)\lib
Item2=$(BCB)\lib\obj;$(BCB)\lib

[HistoryLists\hlDebugSourcePath]
Count=1
Item0=$(BCB)\source\vcl

[HistoryLists\hlConditionals]
Count=1
Item0=_DEBUG

[Debugging]
DebugSourceDirs=$(BCB)\source\vcl

[Parameters]
RunParams=
Launcher=
UseLauncher=0
DebugCWD=
HostApplication=
RemoteHost=
RemotePath=
RemoteLauncher=
RemoteCWD=
RemoteDebug=0

[Compiler]
ShowInfoMsgs=0
LinkDebugVcl=0
LinkCGLIB=0

[Language]
ActiveLang=
ProjectLang=
RootDir=
</IDEOPTIONS>
</PROJECT>

Grazie Mille.

alka
10-12-2008, 17:27
Originariamente inviato da paolac78
purtroppo non so chi ha fatto il programma e devo modificarlo necessariamente.

Purtroppo a volte la necessità non comporta direttamente la fattibilità. :)


Originariamente inviato da paolac78
ti spiego, quello che devo cambiare non sono righe di codice ma le immagini e la lingua del programma.

In ogni caso, se devi ricompilare il programma, cioè passare dal codice sorgente all'eseguibile, è necessario che tu abbia TUTTI i file sorgente, sia che questi facciano parte del progetto, sia che questi appartengano a moduli o unit ottenuti da terze parti.


Originariamente inviato da paolac78
il problema è che quando avvio il file.bpr (per la versione in C++) o il file.dpr (per la versione in Pascal) mi da gli errori che ti ho già scritto.

Lo so. :)


Originariamente inviato da paolac78
quando poi lancio il programma per creare l'exe, cerca invece le seguenti librerie: A406_R61, FF2_R61,ecc.
Questo è un'altra questione ancora: tieni presente che non posso sapere quali sono le dipendenze specifiche dell'applicazione che stai lanciando.


Originariamente inviato da paolac78
pur non avendo le librerie, partendo dall'exe già esistente ed utilizzando qualche programma per aprirlo (per esempio ResHacker.exe) c'è qualche modo per poterlo modificare?
e' possibile convertire le immagini da esadecimale in jpg e viceversa in modo da cambiare solo queste?

Questo è un argomento che esula dalla "programmazione" vera e propria; inoltre, non è nemmeno particolarmente consono trattare questo argomento sul forum, visto che decompilazione, sostituzione di risorse in eseguibili già prodotti, ecc. ecc. sono pratiche che possono invalidare e violare un contratto di licenza d'uso. :bhò:

paolac78
10-12-2008, 17:45
Questo è un argomento che esula dalla "programmazione" vera e propria; inoltre, non è nemmeno particolarmente consono trattare questo argomento sul forum, visto che decompilazione, sostituzione di risorse in eseguibili già prodotti, ecc. ecc. sono pratiche che possono invalidare e violare un contratto di licenza d'uso.
non invalido niente perchè è stato lo stesso proprietario del programma ad autorizzarmi visto che non può più rivolgersi al progettista dello stesso.
comunque ho capito che non posso fare niente.
grazie lo stesso.

alka
10-12-2008, 18:15
Originariamente inviato da paolac78
non invalido niente perchè è stato lo stesso proprietario del programma ad autorizzarmi visto che non può più rivolgersi al progettista dello stesso.

Non è possibile verificarlo direttamente: è questo il problema.


Originariamente inviato da paolac78
comunque ho capito che non posso fare niente.

L'unica cosa che mi viene in mente è cercare tramite Google tutti i componenti mancanti quando vengono segnalati. :bhò:

bDaniele
11-12-2008, 17:58
ciao paolac78,
a naso credo che il programma utilizzi flashfiler come gestore database, se è così (e puoi avere conferma guardando nelle cartelle del programma in base all'estensione dei db) scaricati le librerie da http://sourceforge.net/projects/tpflashfiler/

oramai non è più sviluppato ff ma è disponibile opensource.
molti errori dovrebbero sparirti.


per quanto riguarda il disassembraggio, cosa non trattabile qui, tieni presente che non sempre è fattibile, se per esempio il file exe ha le risorse compresse, non hai nulla da fare, in caso contrario invece la cosa sarebbe più o meno fattibile con gli strumenti giusti, ma non se ne può parlare sul forum come giustamente detto dall'amico moderatore alka.


saluti
daniele


PS: marco piacere di rileggerti.

Loading