25-09-2021, Saat: 01:32
(10-06-2021, Saat: 20:10)KUNTAY Adlı Kullanıcıdan Alıntı: SimaWB nin de dediği gibi Unicode dan olduğu kesin daha öncede buna benzer başka bir projede başıma gelmişti yine aynı durum söz konusu.
Biraz uğraştım unicode problemini aşabilirmiyim diye nafile. Aşağıda bağlantı için kodlar var string değişkenleri ansistring olarak değiştirdim sonuç alamadım.
PChar da PWideChar olarak denedim yine sonuç alamadım.
Bu code formun create durumunda çalışıyor.
Kod: (Select All)
var
ret: Integer;
version: TVersion;
versionString: String;
begin
// Create Link Dlls
ret := SetCommLibrary(1, 'CASTCPIP.DLL');
ret := AddInterpreter(100, 5000, 'CLInterpreter.dll');
ret := AddInterpreter(DF_SCALE_TYPE_LP, DF_SCALE_16, 'LPInterpreter.dll');
version.btModule := 3;
GetLibraryInfo(@version, '');
versionString := Format('- %s Version %d.%d [%02d-%02d-%-02d]',
[DF_NAME_LIBTCPIP,
version.btMainVer,
version.btSubVer,
version.btModifyYear,
version.btModifyMonth,
version.btModifyDay] );
self.AddStatus(versionString);
end;
Buda Teraziye bağlan butonunun kodu:
Kod: (Select All)
var
ret: Integer;
IP: String;
begin
// CL Connect
ret := InitCommLib();
IP := Edit1.Text;
ret := Connect(PChar(IP), -1);
if (ret = 0) then
self.AddStatus('- Fail Connect')
else
self.AddStatus('- Success Connect');
end;
Buda InitCommLib Fonksiyonu
Kod: (Select All)
function TForm1.InitCommLib(): Integer;
var
res: Integer;
begin
res := AddProcConnection(DF_COMMTYPE_TCPIP, // Communication type
PChar(Edit1.Text), // IP
StrToInt(Edit2.Text), // Port
DF_SCALE_TYPE_LP, // Scale Type
DF_SCALE_CL5000, // Scale Model
StrToInt(Edit3.Text), // Timeout
StrToInt(Edit4.Text), // Retry count
DF_DATA_PLU_V02, // Data type
@OnDataReceived, // Receive proc
@OnNetworkState); // State proc
result := res;
end;
Sevgili Kuntay, Bahsettiğin sorunla bende aylardır uğraşıyorum. Acaba bir çözüme varabildiniz mi?

