Perd贸n Daniel la versi贸n es fw 13.02 y la versi贸n de harbour es la 3.2.0 rev. 18881
los otros dos archivos que compilo son
1) connto.prg
# include "fivewin.ch"
# include "tdolphin.ch"
FUNCTION ConnectTo( n )
LOCAL c
LOCAL hIni
LOCAL oServer
LOCAL cServer, cUser, cPassword, nPort, cDBName,nFlags
LOCAL oErr
c = "mysql"
hIni := HB_ReadIni( "connect.ini" )
oServer := NIL
cServer := hIni[ c ]["host"]
cUser := hIni[ c ]["user"]
cPassword := hIni[ c ]["psw"]
nPort := val(hIni[ c ]["port"])
cDBName := hIni[ c ]["dbname"]
nFlags := val(hIni[ c ]["flags"])
TRY
CONNECT oServer HOST cServer ;
USER cUser ;
PASSWORD cPassword ;
PORT nPort ;
FLAGS nFlags;
DATABASE cDBName
CATCH oErr
? hb_dumpvar( oErr )
RETURN NIL
END
RETURN oServer
setbrowse
#include "tdolphin.ch"
#include "xbrowse.ch"
#include "fivewin.ch"
//--------------------------------------//
PROCEDURE SetDolphin( oBrw, oQry, lAddCols )
LOCAL xField := NIL
LOCAL cHeader := ""
LOCAL cCol := ""
LOCAL aFldNames, oCol
IF lAddCols == NIL
lAddCols = .T.
ENDIF
WITH OBJECT oBrw
:bGoTop := {|| If( oQry:LastRec() > 0, oQry:GoTop(), NIL ) }
:bGoBottom := {|| If( oQry:LastRec() > 0, oQry:GoBottom(), nil ) }
IF oQry:lPagination
:bSkip := {| n | If ( n != NIL, If( n + oQry:nRecNo < 1 .AND. oQry:nCurrentPage > 1,;
( oQry:PrevPage(, .T. ), oBrw:GoBottom(), 0 ), ;
If( n + oQry:nRecNo > oQry:nRecCount .AND. oQry:nCurrentPage < oQry:nTotalRows,;
( oQry:NextPage( , .T. ), oBrw:GoTop(), 0 ), oQry:Skip( n ) ) ), oQry:Skip( n ) ) }
ELSE
:bSkip := {| n | oQry:Skip( n ) }
ENDIF
:bBof := {|| oQry:Bof() }
:bEof := {|| oQry:Eof() }
:bBookMark := {| n | If( n == nil,;
If( oQry:LastRec() > 0, oQry:RecNo(), 0 ), ;
If( oQry:LastRec() > 0, oQry:goto( n ), 0 ) ) }
:bKeyNo := {| n | If( n == nil, ;
If( oQry:LastRec() > 0, oQry:RecNo(), 0 ), ;
If( oQry:LastRec() > 0, oQry:Goto( n ), 0 ) ) }
:bKeyCount := {|| oQry:LastRec() }
END
oBrw:nDataType := DATATYPE_USER
oQry:Cargo = oQry:aStructure[ 1 ][ 1 ]
IF lAddCols
aFldNames := oQry:aStructure
FOR EACH xField IN aFldNames
cCol := xField[ 1 ]
cHeader := xField[ 1 ]
oCol = SetColFromMySQL( cCol, cHeader, oQry, oBrw )
//set order
oCol:bLClickHeader = Build_CodeBlock_Order( oQry )
NEXT
oBrw:bSeek := { | c | DolphinSeek( c, oQry ) }
ENDIF
RETURN
//--------------------------------------//
FUNCTION Build_CodeBlock_Order( oQry )
RETURN {| nMRow, nMCol, nFlags, oCol | SetOrderDolphin( oCol, oQry ) }
//--------------------------------------//
FUNCTION DolphinSeek( c, oQry )
LOCAL nStart
LOCAL uData, nNum
STATIC aLastRec := {}
IF Len( aLastRec ) < Len( c )
IF Len( aLastRec ) == 0
nStart = 1
ELSE
nStart = oQry:RecNo()
ENDIF
AAdd( aLastRec, nStart )
ELSE
ADel( aLastRec, Len( aLastRec ) )
ASize( aLastRec, Len( aLastRec ) - 1 )
IF Len( aLastRec ) == 0
nStart = 1
ELSE
nStart = ATail( aLastRec )
ENDIF
ENDIF
oQry:Seek( c, oQry:Cargo, nStart, oQry:LastRec(), .T., .T. )
RETURN .T.
//--------------------------------------//
FUNCTION SetColFromMySQL( cnCol, cHeader, oQry , oBrw )
LOCAL nType, cType, nLen, nDec, cName
LOCAL oCol, nCol
nCol := cnCol
IF ValType( cnCol ) == "C"
nCol := oQry:FieldPos( cnCol )
ENDIF
cName := oQry:FieldName( nCol )
oCol := oBrw:AddCol()
oCol:cHeader := cHeader
cType := oQry:FieldType( nCol )
nLen := 0
nDec := 0
DO CASE
CASE cType == 'N'
nLen := oQry:FieldLen( nCol )
nDec := oQry:FieldDec( nCol )
oCol:cEditPicture := NumPict( nLen, nDec, .F., .f. )
CASE cType == 'C'
nLen := MIN( 100, oQry:FieldLen( nCol ) )
CASE cType == 'M'
nLen := MIN( 100, Len(AllTrim(oQry:FieldGet( nCol ))) )
nLen := IF(nLen < 30, 30, nLen )
CASE cType == 'D'
oCol:nHeadStrAlign := 2
oCol:nDataStrAlign := 0
CASE cType == NIL
oCol:bEditValue := { || "..." }
OTHERWISE
// just in case. this will not be executed
oCol:bEditValue := { || "..." }
ENDCASE
oCol:bEditValue := { || oQry:FieldGet( nCol ) }
oCol:cDataType := If( cType == nil, 'C', cType )
oCol:bOnPostEdit := { |o,x,n| If( n == VK_RETURN, oBrw:onedit( o, x, n, cType, nCol ), NIL ) }
RETURN oCol
//--------------------------------------//
PROCEDURE SetOrderDolphin( oCol, oQry )
LOCAL aToken
LOCAL cType, cOrder
aToken := HB_ATokens( oQry:cOrder, " " )
IF Len( aToken ) == 1
AAdd( aToken, "ASC" )
ENDIF
cOrder = AllTrim( Lower( aToken[ 1 ] ) )
cType = aToken[ 2 ]
AEval( oCol:oBrw:aCols, {| o | o:cOrder := " " } )
IF oQry:aStructure[ oCol:nCreationOrder ][ 1 ] == cOrder
IF Upper( cType ) == "ASC"
cType = "DESC"
oCol:cOrder = "D"
ELSE
cType = "ASC"
oCol:cOrder = "A"
ENDIF
ELSE
cOrder = oQry:aStructure[ oCol:nCreationOrder ][ 1 ]
cType = "ASC"
oCol:cOrder = "A"
ENDIF
oQry:SetOrder( cOrder + " " + cType )
oCol:oBrw:Refresh()
RETURN
y el scrip de compilacion
<?xml version="1.0"?>
<Project>
<Type Value="exe"/>
<Description Value="fivedolph"/>
<Output Value="fivedolph.exe"/>
<Environment Value="fivehar"/>
<MainModule Value="testfw2.prg"/>
<MultipleInstances Value="Y"/>
<XPManifest Value="Y"/>
<Icon Value=""/>
<Parameters Value=""/>
<OEM Value="N"/>
<Version>
<VersionInfo Value="N"/>
<Version Value="1.0"/>
<Release Value="0"/>
<Build Value="0"/>
<Company Value=""/>
<CopyRight Value=""/>
<TradeMarks Value=""/>
<Comments Value=""/>
</Version>
<Directories>
<SourceDir Value="Source"/>
<IncludeDir Value="Include"/>
<ResourceDir Value="Resource"/>
<ObjDir Value="Obj"/>
</Directories>
<Options>
<AutomaticMemvarDeclaration Value="Y"/>
<DebugInfo Value="N"/>
<SuppressLineNumberInformation Value="N"/>
<SuppressShortcutting Value="N"/>
<WarnningLevel Value="1"/>
<MoreOptions Value=""/>
<MoreCOpt Value=""/>
<MapFile Value="N"/>
<ConsoleMode Value="N"/>
<MoreLinkOpt Value=""/>
</Options>
<Export>
<Dir Value=""/>
<Source Value="Y"/>
<Exe Value="N"/>
<Bin Value="N"/>
<Resource Value="Y"/>
<ResourceAll Value="N"/>
<ErrorLog Value="N"/>
<Subprojects Value="Y"/>
</Export>
<Clean>
<All Value="Y"/>
</Clean>
<FinalExe>
<FullCompile Value="N"/>
<UpxCompress Value="N"/>
<CompressFlags Value=""/>
<Installer Value="N"/>
<InstallerFlags Value=""/>
<TlbInfo Value="N"/>
</FinalExe>
<VCS>
<Type Value="None"/>
</VCS>
<Files>
<File Filename="testfw2.prg"/>
<File Filename="connto.prg"/>
<File Filename="setbrw.prg"/>
</Files>
<Libraries>
<Library Filename="[user]FiveH.lib"/>
<Library Filename="[user]FiveHC.lib"/>
<Library Filename="[project]lib\dolphin.lib"/>
<Library Filename="[project]libmysql.lib"/>
<Library Filename="[Harbour]hbextern.lib"/>
<Library Filename="[Harbour]hbdebug.lib"/>
<Library Filename="[Harbour]hbvm.lib"/>
<Library Filename="[Harbour]hbrtl.lib"/>
<Library Filename="[harbour]hbct.lib"/>
<Library Filename="[Harbour]hblang.lib"/>
<Library Filename="[Harbour]hbcpage.lib"/>
<Library Link="N" Filename="[Harbour]gtcgi.lib"/>
<Library Link="N" Filename="[Harbour]gtpca.lib"/>
<Library Link="N" Filename="[Harbour]gtstd.lib"/>
<Library Filename="[Harbour]gtwin.lib"/>
<Library Link="N" Filename="[Harbour]gtwvt.lib"/>
<Library Filename="[Harbour]gtgui.lib"/>
<Library Filename="[harbour]xhb.lib"/>
<Library Filename="[Harbour]hbrdd.lib"/>
<Library Filename="[Harbour]hbuddall.lib"/>
<Library Filename="[Harbour]hbusrrdd.lib"/>
<Library Filename="[Harbour]rddntx.lib"/>
<Library Filename="[Harbour]rddcdx.lib"/>
<Library Filename="[Harbour]rddnsx.lib"/>
<Library Filename="[Harbour]rddfpt.lib"/>
<Library Link="N" Filename="[Harbour]rddads.lib"/>
<Library Link="N" Filename="[Harbour]ace32.lib"/>
<Library Filename="[Harbour]hbhsx.lib"/>
<Library Filename="[Harbour]hbsix.lib"/>
<Library Filename="[Harbour]hbmacro.lib"/>
<Library Filename="[Harbour]hbcplr.lib"/>
<Library Filename="[Harbour]hbpp.lib"/>
<Library Filename="[Harbour]hbcommon.lib"/>
<Library Filename="[Harbour]hbmainwin.lib"/>
<Library Filename="[Harbour]hbmxml.lib"/>
<Library Filename="[Harbour]mxml.lib"/>
<Library Filename="[Harbour]hbpcre.lib"/>
<Library Filename="[Harbour]hbwin.lib"/>
<Library Filename="[Harbour]hbmzip.lib"/>
<Library Filename="[Harbour]minizip.lib"/>
<Library Filename="[Harbour]hbzlib.lib"/>
<Library Filename="[bcc]c0w32.obj"/>
<Library Filename="[bcc]psdk\odbc32.lib"/>
<Library Filename="[bcc]psdk\msimg32.lib"/>
<Library Filename="[bcc]cw32.lib"/>
<Library Filename="[bcc]import32.lib"/>
<Library Filename="[bcc]PSDK\psapi.lib"/>
<Library Filename="[bcc]wininet.lib"/>
</Libraries>
</Project>
Lo que agregue es los includes de fivewin
Luis