Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi bds2006 Indy10 dcc32 erstellt keine *.bpl (https://www.delphipraxis.net/196296-bds2006-indy10-dcc32-erstellt-keine-%2A-bpl.html)

cramer 8. Mai 2018 13:05

bds2006 Indy10 dcc32 erstellt keine *.bpl
 
Hallo,
wenn ich die aktuelle Indy v.10.x compiliere, werden schon beim IndySystem100.dpk keine bpl und dcp generiert.
Code:
H:\BDS2006\Indy10\Lib\System>%D10%\Bin\dcc32.exe IndySystem100.dpk /Oobjs /DBCB /m /h /w /JPHNE /N..\..\D100 -$d-l-n+p+r-s-t-w- /LEH:\BDS2006\Indy10\Lib\System /LNH:\BDS2006\Indy10\Lib\System
Nur die dcu werden in D100 erstellt
Code:
H:\BDS2006\Indy10\D100
Ich habe auch schon auf dem ganzen System in C:\ und H:\ gesucht, ob die bpl woanders abgelegt werden, Fehlanzeige.
Die C:\Programme\Borland\BDS\4.0\bin\dcc32.cfg sieht so aus
Code:
-aWinTypes=Windows;WinProcs=Windows;DbiProcs=BDE;DbiTypes=BDE;DbiErrs=BDE
-u"C:\Programme\Borland\BDS\4.0\lib";"C:\Programme\Borland\BDS\4.0\lib\Obj"
Wo könnte man noch suchen?

himitsu 8. Mai 2018 13:16

AW: bds2006 Indy10 dcc32 erstellt keine *.bpl
 
Müsste es nicht eine Fehlermeldung geben, wenn die Ausgabedatei nicht erstellt wurde?

Ich würde ja da mal suchen, was dort erwähnt wird. :stupid:
Aber prizipiell müsste die Datei in -LEH:\BDS2006\Indy10\Lib\System auftauchen.

cramer 8. Mai 2018 14:16

AW: bds2006 Indy10 dcc32 erstellt keine *.bpl
 
Ja, der Fehler kommt aber nicht vom Compiler, auch der Errorlevel ist OK,
sondern erst später im Indy Batch wenn die Dateien kopiert werden sollen.
(file not found)

ECHO ****************
ECHO Compile System
ECHO ****************
CD System
%D10%\Bin\dcc32.exe IndySystem100.dpk /Oobjs /DBCB /m /h /w /JPHNE /N..\..\D100 -$d-l-n+p+r-s-t-w- /LEH:\BDS2006\Indy10\Lib\System /LNH:\BDS2006\Indy10\Lib\System
if errorlevel 1 goto enderror
copy *100.bpl ..\..\D100 >nul
copy *100.dcp ..\..\D100 >nul
copy *.hpp ..\..\D100 >nul

cramer 8. Mai 2018 14:21

AW: bds2006 Indy10 dcc32 erstellt keine *.bpl
 
Auch mit -LE gehts nicht
Code:
H:\BDS2006\Indy10\Lib\System>%D10%\Bin\dcc32.exe IndySystem100.dpk /Oobjs /DBCB /m /h /w /JPHNE /N..\..\D100 -$d-l-n+p+r-s-t-w- -LEH:\BDS2006\Indy10\Lib\System -LNH:\BDS2006\Indy10\Lib\System
Borland Delphi for Win32 compiler version 18.0
Copyright (c) 1983,2005 Borland Software Corporation
IndySystem100.dpk(46)
47 lines, 0.09 seconds, 329 bytes code, 0 bytes data.

H:\BDS2006\Indy10\Lib\System>dir *.bpl
 Datenträger in Laufwerk H: ist DIV1
 Volumeseriennummer: 28CA-B5A0

 Verzeichnis von H:\BDS2006\Indy10\Lib\System

Datei nicht gefunden

cramer 8. Mai 2018 14:43

AW: bds2006 Indy10 dcc32 erstellt keine *.bpl
 
Wenn man die Pfad Optionen /LH vor die -$ Optionen setzt, klappts :
Code:
%NDD10%\Bin\dcc32.exe IndySystem100.dpk /Oobjs /DBCB /m /h /w /B /N..\..\D100 /LEH:\BDS2006\Indy10\Lib\System /LNH:\BDS2006\Indy10\Lib\System -$d-l-n+p+r-s-t-w-

himitsu 8. Mai 2018 18:44

AW: bds2006 Indy10 dcc32 erstellt keine *.bpl
 
Process Monitor von SysInternals https://docs.microsoft.com/en-us/sys...disk-utilities

Damit siehst du wo was geschrieben/gelesen wird, also wo deine Datei hin geht, bzw. warum sie nicht geht, denn auch Zuriffsfehler werden angezeigt.
Falls sowas mal wieder passiert und du nichts findest.

cramer 9. Mai 2018 12:03

AW: bds2006 Indy10 dcc32 erstellt keine *.bpl
 
Es gab immer noch Probleme mit dem dcc32, unter anderem hier
Code:
procedure TIdIOHandler.Write(AValue: Int64; AConvert: Boolean = True);
{$IFDEF AVOID_URW_ERRORS}
var
  h: Int64;
{$ELSE}
  {$IFDEF HAS_TIdUInt64_QuadPart}
var
  h: TIdUInt64;
  {$ENDIF}
{$ENDIF}
begin
  if AConvert then begin
    {$IFDEF AVOID_URW_ERRORS}
    // assigning to a local variable to avoid an "Internal error URW533" compiler
    // error in Delphi 5, and an "Internal error URW699" compiler error in Delphi
    // 6. Later versions seem OK without it...
    h := GStack.HostToNetwork(UInt64(AValue));
    AValue := h;
    {$ELSE}
      {$IFDEF HAS_TIdUInt64_QuadPart}
    // assigning to a local variable if UInt64 is not a native type, or if using
    // a C++Builder version that has problems with UInt64 parameters...
// ----------------------------------------------------------------
    h.QuadPart := UInt64(AValue);     <--- Error in Line 1128
// ----------------------------------------------------------------
    h := GStack.HostToNetwork(h);
    AValue := Int64(h.QuadPart);
      {$ELSE}
    AValue := Int64(GStack.HostToNetwork(UInt64(AValue)));
      {$ENDIF}
    {$ENDIF}
  end;
  Write(ToBytes(AValue));
end;
Nachdem ich dann in der fulld_2006.bat an allen Stellen den Schalter /JPHNE entfernt hatte, lief es durch.


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz