1
nodejs-ffi 모듈과 함께 C 32 비트 DLL을로드하는 데 문제가 있습니다.node-ffi 모듈이 32 비트 C DLL을로드하지 못했습니다 - 동적 연결 오류
실행, 노드가 Dynanic_library.js에 오류가 발생합니다 : 이것은 내 코드 74 동적 링크 오류
var ffi = require('ffi');
var ref = require('ref');
var path = require('path');
import idatabase = require('./IDatabase');
import idataset = require('./Dataset');
var dllpath = path.join(__dirname, '../../StoneBaseDLL.dll');
var dbpath = path.join(__dirname, '../../../database/metadata/metadata.db');
export class Stonebase implements idatabase.IDatabase
{
dbHandler;
dbConnection;
constructor() {
this.dbHandler = ffi.Library(dllpath, {
'connect': ['void*', ['string']],
'Execute': ['void*', ['string', 'void*']],
'disconnect': ['void*', ['void*']],
'EndOfResultSet': ['bool', ['void*']],
'Next': ['void', ['void*']],
'getNumberOfFields': ['int', ['void*']],
'GetField_AsString': ['string', ['int', 'void*']],
'GetField_AsChar': ['string', ['int', 'void*']],
});
this.dbConnection = this.dbHandler.connect(dbpath);
}
execute(query: string) {
var data: Array<Array<string>>;
var columns: Array<string>;
data = [];
columns = [];
var i = 0;
var dset = this.dbHandler.Execute(query, this.dbConnection);
for (var j = 0; j < this.dbHandler.getNumberOfFields(dset); j++) {
columns[j] = "column" + j;
}
while (!this.dbHandler.EndOfResultSet(dset)) {
var line: Array<string>;
line = [];
for (var j = 0; j < this.dbHandler.getNumberOfFields(dset); j++) {
line[j] = (<string>this.dbHandler.GetField_AsChar(j, dset));
}
data[i] = line;
this.dbHandler.Next(dset);
i++;
}
return new idataset.Dataset(data, columns);
}
}
내가 타이프 라이터를 사용하고는 있지만이는 함께 할 수 없다 확신 해요 문제
도움을 주셔서 감사합니다.