Ich habe noch ewig gefummelt und bekomme einen Report ohne Datenbankanbindung zum Laufen. (Zwar mit nicht wirklich hübschen Daten, aber wenigstens schon mal was
)
Inzwischen hänge ich also an der
DB-Verbindung und dort jetzt wirklich im absoluten "IchverstehegarnichtsLand"
Ich brauche also dringend Hilfe von Euch, wie ich die
VCL von Crystal unter Delphi 2009 zum Laufen bekomme.
Hier die Procedure, welche ich nicht verstehe und damit keinen Ansatz zum Ändern auf
UNiCode habe.
Delphi-Quellcode:
function TCrpeEngine.PETestNthTableConnectivity (printJob: Smallint; tableN: Smallint): Bool;
var
CrpeTestNthTableConnectivity : TFarProc;
begin
CRDEngineError('');
Result := False;
{Check if Engine is loaded}
if CRDEngine = 0 then
begin
CRDEngineError(CRD_ENGINE_NOT_LOADED);
Exit;
end;
CrpeTestNthTableConnectivity := GetProcAddress(CRDEngine, 'PETestNthTableConnectivity');
if CrpeTestNthTableConnectivity = nil then
CRDEngineError('PETestNthTableConnectivity')
else
Result := TPETestNthTableConnectivity(CrpeTestNthTableConnectivity)
(printJob, tableN);
end;
Bei GetProcAdress kommt eine Adresse raus. printJob=1 und tableN=0
Vielleicht ist es ja schon das Fatale, dass TableN=0 ist.
In einer Procedure davor werden diese ermittelt
Delphi-Quellcode:
{Get the number of tables}
nTables := Cr.FCrpeEngine.PEGetNTables(Cr.FPrintJob);
if nTables = -1 then
begin
Result := False;
Cr.GetErrorMsg(Cr.FPrintJob,errNoOption,errEngine,'',
'Connect.Test <PEGetNTables>');
Exit;
end;
Da kommt 1 raus.
Delphi-Quellcode:
{Loop through the tables}
for nIndex := 0 to (nTables - 1) do
begin
{Set LogOnInfo and propagate through other tables}
if not Cr.FCrpeEngine.PESetNthTableLogOnInfo(Cr.FPrintJob, nIndex, LogInfo, True) then
begin
Result := False;
Cr.GetErrorMsg(Cr.FPrintJob,errNoOption,errEngine,'',
'Connect.Test <PESetNthTableLogOnInfo>');
Exit;
end;
{Test Connect}
Result := Cr.FCrpeEngine.PETestNthTableConnectivity(Cr.FPrintJob, nIndex);
{If if failed, store the resulting error}
if Result = False then
begin
Cr.GetErrorMsg(Cr.FPrintJob,errNoOption,errEngine,'',
'Connect.Test <PETestNthTableConnectivity>');
Exit;
end;
end;
end;
Bei "Set LogOnINfo" kommt auch TRUE raus... was dann scheitert ist der "Test Connect".
Bitte bitte helft.
Romy