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 Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus