Table of Contents
Mengapa aplikasi Clipper saya tidak berjalan dengan prosesor baru (Celeron, Pentium II/III, AMD, Cyrix) ?
Bagaimana saya dapat menempelkan informasi tgl link dan versi aplikasi dalam EXE ?


Mengapa aplikasi Clipper saya tidak berjalan dengan prosesor baru (Celeron, Pentium II/III, AMD, Cyrix) ?
Secara internal, saat awal aplikasi dijalankan, Clipper memberikan kode program kecil untuk menghitung delay factor sesuai kecepatan prosesor komputer. Namun, karena perkembangan teknologi yang pesat untuk prosesor, Clipper melakukan kesalahan perhitungan delay factor menjadi 0, sehingga terjadi error "Divide by zero".

Sebenarnya solusinya sangat mudah, cukup menyertakan __wait_b.obj dalam proses link, Anda dapat menyelesaikannya dengan mudah. Namun demikian, banyak pemrogram Clipper menggunakan solusi yang salah dengan menggunakan __wait_4.obj yang disertakan dalam CA-Clipper 5.3x; dan terkadang error yang sama masih muncul. Dengarkan saran saya, use __wait_b.obj ketimbang __wait_4.obj dan masalah Anda akan teratasi dengan baik.

Download __wait_b.obj now

Go Top


Bagaimana saya dapat menempelkan informasi tgl link dan versi aplikasi dalam EXE ?
Saya selalu menyertakan informasi tgl dan jam link, versi aplikasi dan database dalam aplikasi saya. Untuk melakukannya, saya memanfaatkan fitur Blinker untuk menempelkan serial number dalam .EXE secara langsung. Silakan baca link script dan source code saya secara seksama, seperti berikut:

// Make script
app.exe: main.obj etc.obj
  dInfo 1.01 #030
  blinker @app @dInfo

// Source code to generate dInfo.lnk
function dInfo( _cLinkVersion, _cDBFversion )
  local hnd

  default _cLinkVersion to "0.01", _cDBFversion to "#001"

  hnd := fCreate( "dInfo.lnk" )
  if hnd > 0
    fWrite( hnd, "blinker executable serial " + ;
                  dToS( date() ) + " " + ;
                  subStr( time(), 1, 5 ) + " " + ;
                  padR( _cLinkVersion, 4 ) + " " + ;
                  padR( _cDBFversion, 4 ) )
    fClose( hnd )
    ? memoRead( "dInfo.lnk" )
  endif
return nil

// Source code to retrieve Date Linking and Version Number
static cBliSerNum, dLinkDate, cLinkTime, cLinkVersion, cDBFversion

init function __dInfo()

  cBliSerNum   := bliSerNum()
  dLinkDate    := stod( subStr( cBliSerNum, 1, 8 ) )
  cLinkTime    := subStr( cBliSerNum, 10, 5 )
  cLinkVersion := subStr( cBliSerNum, 16, 4 )
  cDBFversion  := subStr( cBliSerNum, 21, 4 )
return nil

function dInfoLinkDate()
return dLinkDate

function dInfoLinkTime()
return cLinkTime

function dInfoLinkVersion()
return cLinkVersion

function dInfoDBFversion()
return cDBFversion

Go Top