Hi All,
I have finally gotten my project compiling without errors. I do however
get a Debugger exception with the const filename_Trace_File_DBF =
'hex8_log.dbf'; ... which I find very odd.
>From hexboard3.pas (see procedure THxboard.open_trace_file; below)
Trace_File_DBF.Name := filename_Trace_File_DBF;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error occurs at the
above line
// filename_Trace_File_DBF = <error type>
Debugger hexxpawn8 raised exception class 'EComponentError' with
message:
"hex8_log.dbf" is not a valid component name
[Break] [Continue]
[ ] Ignore this exception type
I then click on [Continue] and get the following error:
Error
Project hexxpawn8 raised exception class 'External: SIGSEGV'.
[OK]
Note: "hex8_log.dbf" is NOT created. I don't know what code is raising
the External: SIGSEGV code.
The zip of hexxpawn_0.50.alpha.zip (including all backup files) is here:
http://8938743253203581429-a-1802744773732722657-s-sites.googlegroups.com/site/pewtas/hexxpawn_0.50.alpha.zip
it is 6.9 Megabytes in size (25.4 Megabytes unzipped)
All code is 100% freeware open source copyright to myself and License:
GPL/LGPL (although not stated but implied). Note that the about Window
still states the version at 0.14a for Windows -- the last stable Delphi
5 Enterprise version.
unit hexboard3;
interface
uses
SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, Buttons, {Windows,}
inifiles,
Menus, dbf, LMessages,
ActnList, DB, dbf_common,
Grids, ExtCtrls, {shellapi,} TypInfo,
LclType,
h_decs, // hexxpawn global declarations
general // hexxpawn general routines
//BTOdeum, // used for sound beeping.
;
const
//WM_USER_APPLICATION_MINIMIZE = WM_USER + 1;
WM_USER_APPLICATION_MINIMIZE = LM_USER + 1;
default_game_over_song = 'Entertainer';
filename_Hexx_Data_DBF = 'hex8.dbf';
filename_Trace_File_DBF = 'hex8_log.dbf';
filename_Moves_DBF = 'moves.dbf';
TXBaseConst = xBaseVII;
<snip>
procedure THxboard.open_trace_file;
var
S : String;
I : integer;
begin
S := Application.ExeName;
// hack for Mac
I := Pos('.app/Contents/MacOS/', S);
if (I > 0) then
S := Copy(S,1, I+3);
try
begin
Trace_File_DBF.TableLevel := Longint(TXBaseConst);
Trace_File_DBF.FilePath := ExtractFilePath(S) + 'data' +
PathDelim;
Trace_File_DBF.Name := filename_Trace_File_DBF;
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Error occurs at the
above line
// filename_Trace_File_DBF = <error type>
//if FileExists( filename_Trace_File_DBF ) then
showmessage( 'FilePath = ' + Trace_File_DBF.FilePath + ' : Name =
' + Trace_File_DBF.Name );
With Trace_File_DBF do
if Exclusive then
exit
else
begin
Open;
With Trace_File_DBF do
begin
Close;
// Trace_File_DBF.FilePathFull := ????????
Trace_File_DBF.TableLevel := Longint(TXBaseConst);
// Trace_File_DBF.FileName := 'hex8_log.dbf';
Trace_File_DBF.TableName := filename_Trace_File_DBF;
with Trace_File_DBF.FieldDefs do
begin
Clear;
Add( 'game_counter', ftinteger, 0, True );
Add( 'turn_counter', ftInteger, 0, True );
Add( 'player_o_move_from_row', ftInteger, 0, True );
Add( 'player_o_move_from_col', ftInteger, 0, True );
Add( 'player_o_move_to_row', ftInteger, 0, True );
Add( 'player_o_move_to_col', ftInteger, 0, True );
Add( 'player_x_move_from_row', ftInteger, 0, True );
Add( 'player_x_move_from_col', ftInteger, 0, True );
Add( 'player_x_move_to_row', ftInteger, 0, True );
Add( 'player_x_move_to_col', ftInteger, 0, True );
Add( 'record_no', ftInteger, 0, True );
Add( 'winner', ftString, 12, True );
Add( 'move_options', ftString, 25, True );
Add( 'pawn_move_rating', ftString, 25, True );
Add( 'successful_move', ftBoolean, 0, True );
Add( 'pawn_no', ftInteger, 0, True );
Add( 'direction', ftInteger, 0, True );
Add( 'option_was', ftString, 25, True );
end; // with
Open;
Trace_File_DBF_open := true;
//Exclusive := True;
//Trace_File_DBF.GotoEOF; // needs changing
Trace_File_DBF.FindLast; // needs changing
end; // with
end; // else
end; // try
except
//finally
end;
end; { open_trace_file }
{---------------------------------------------------------}
--
Proudly developing Quality Cross Platform Open Source Games
Since 1970 with a Commodore PET 4016 with 16 KRAM
http://pews-freeware-games.org (<--- brand new)
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus