Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Fehler beim übergeben

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
10.08.2008, 23:47 Uhr
~matras
Gast


Hallo! Ich habe für meine 3schichtige Anwendung ein Setup geschrieben. Unter anderem werden über das Setup auf einen Applicationsserver DLL-Dateien kopiert, die in C++ über *.rc-Dateien verfügbar gemacht werden.

Also Beispielcode der rc-Datei

FB_UDF_FILE1 RT_RCDATA "udf\\hwl_udf_getRegistryKey.dll"

Nach dem compilieren verfügt das Setup über eine RES-Datei, auf die über das Programm zugegriffen werden kann.

Im Setup habe ich nun eine Klasse für das Kopieren der Programmdateien wie folgt geschrieben:

__fastcall HCopyFiles::HCopyFiles(TComponent *Owner)

{

............................


String cpyFile="hwl_udf_getRegistryKey.dll";

String installFullPath=directory+cpyFile;

copyFile(hInstance, "FB_UDF_FILE1", "RT_RCDATA", installFullPath);

...........................

}

void __fastcall HCopyFiles::copyFile(int hInstance, char* fileName, char* fileType, String installFullPath)

{

try {

TResourceStream *RStream=new TResourceStream(hInstance, fileName, fileType);

try {

TFileStream *FStream=new TFileStream(installFullPath.c_str(), fmCreate);

try {

FStream->CopyFrom(RStream, RStream-Size);

}

catch ...............

.............................

............

}

Die kopierte dll-Datei wird in das UDF-Verzeichnis von Firebird 2.1 kopiert, in einer Datenbank deklariert und über eine Stored-Procedure verwendet.

Wenn ich nun die Stored-Procedure im Programm aufrufe, bekomme ich nicht den Wert zurück, den die dll aus einer INI-Datei auslesen müßte, sondern '-1'.

Kopiere ich die selbe dll - Datei aber manuell in das UDF-Verzeichnis von Firebird bekomme ich das richtige Ergebnis.

Es muß also irgendwie mit dem Kopiervorgang zusammenhängen. Bei dem Kopiervorgang ist mir auch aufgefallen, daß die Datei von ursprünglich 390.000 Bytes auf 385.000 Bytes schrumpft - warum ???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: