Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: ADO stolpert über chr(13) chr(10)

  Alt 23. Mai 2011, 17:18
ich habe einmal den Debugger angeworfen, es sieht so aus als würde es hier knirschen:
Delphi-Quellcode:
Unit ADODB
....
function PropertyExists(const PropList: ADOInt.Properties; const PropName: WideString): Boolean;
var
  I: Integer;
begin
  for I := PropList.Count - 1 downto 0 do <<<<<<<<<<<<<<<<<<
    if PropList[I].Name = PropName then
    begin
      Result := True;
      Exit;
    end;
  Result := False;
end;
PropList.count ist 0!
und hier geht's dann weiter
Delphi-Quellcode:
Unit System

function _CheckAutoResult(ResultCode: HResult): HResult;
{$IF Defined(PIC) or Defined(PUREPASCAL)}
begin
  if ResultCode < 0 then
  begin
    if Assigned(SafeCallErrorProc) then
      SafeCallErrorProc(ResultCode, Pointer(-1)); // loses error address
    Error(reSafeCallError);
  end;
  Result := ResultCode;
end;
{$ELSE}
asm
        TEST EAX,EAX <<<<<<<<<<<<<<<<<<<<<<<<<<<<<
        JNS @@2
        MOV ECX,SafeCallErrorProc
        TEST ECX,ECX
        JE @@1
        MOV EDX,[ESP]
        CALL ECX
@@1: MOV AL,reSafeCallError
        JMP Error
@@2:
end;
{$IFEND}
Gruß
K-H

Nachtrag:
Ich bin einen halben Schritt weiter gekommen. Es hat wohl etwas mit der Menge der '||' zu tun.
Folgende Abfrage liefert den Fehler
Code:
select 'Insert into casename (CASENAMEKEY,CASEKEY,NAMETYPEKEY,NAMEKEY,ARCHIVED)'||
       ' values (nextkey.nextval,'||cases.casekey||',105,38047483,0);'||' CRLF'
      ,cases.casekey
      ,cases.casereference
      ,cases.CaseTypeKey
      ,SachB.Name,IndSachb.FirstName
      ,Assis.Name
folgende nicht
Code:
select 'Insert into casename (CASENAMEKEY,CASEKEY,NAMETYPEKEY,NAMEKEY,ARCHIVED)',
       ' values (nextkey.nextval,'||cases.casekey||',105,38047483,0);'||' CRLF'
      ,cases.casekey
      ,cases.casereference
      ,cases.CaseTypeKey
      ,SachB.Name,IndSachb.FirstName
      ,Assis.Name
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector

Geändert von p80286 (23. Mai 2011 um 18:17 Uhr)
  Mit Zitat antworten Zitat