Remove makeInterface(<number>) and replace to UseObject(<string>)

Remove makeInterface(<number>) and replace to UseObject(<string>)
This commit is contained in:
Namhyeon Go 2025-08-05 17:31:48 +09:00 committed by GitHub
parent 3de5b618db
commit 6e89bda453
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -98,25 +98,31 @@ function makeProbabilityBit(p) {
return !( p > 0.0 ? ( (randomize() / p) > 1.0 ) : true) ? 1 : 0; return !( p > 0.0 ? ( (randomize() / p) > 1.0 ) : true) ? 1 : 0;
} }
function makeInterface(i) {
return CreateObject(["Scripting.FileSystemObject", "ADODB.Stream"][i]);
}
function openTextFile(filename, iomode) { function openTextFile(filename, iomode) {
return makeInterface(0).OpenTextFile(filename, iomode, true, TristateTrue); return UseObject("Scripting.FileSystemObject", function(fso) {
return fso.OpenTextFile(filename, iomode, true, TristateTrue);
});
} }
function checkFileExists(filename) { function checkFileExists(filename) {
return makeInterface(0).FileExists(filename);; return UseObject("Scripting.FileSystemObject", function(fso) {
return fso.FileExists(filename);
});
} }
function deleteFile(filename) { function deleteFile(filename) {
if (checkFileExists(filename)) makeInterface(0).DeleteFile(filename); if (checkFileExists(filename)) {
return UseObject("Scripting.FileSystemObject", function(fso) {
fso.DeleteFile(filename);
});
}
} }
function getFileSize(filename) { function getFileSize(filename) {
try { try {
return makeInterface(0).GetFile(filename).Size; return UseObject("Scripting.FileSystemObject", function(fso) {
return fso.GetFile(filename).Size;
});
} catch (e) { } catch (e) {
return -1; return -1;
} }
@ -130,40 +136,43 @@ function Converter() {
}; };
this.getBinaryFromText = function() { this.getBinaryFromText = function() {
var stream = makeInterface(1); return UseObject("ADODB.Stream", function(stream) {
stream.Type = adTypeText; stream.Type = adTypeText;
stream.CharSet = CdoCharset.CdoUTF_8; stream.CharSet = CdoCharset.CdoUTF_8;
stream.Open(); stream.Open();
stream.WriteText(this.value); stream.WriteText(this.value);
stream.Position = 0; stream.Position = 0;
stream.Type = adTypeBinary; stream.Type = adTypeBinary;
return stream.Read(); return stream.Read();
});
}; };
this.getTextFromBinary = function() { this.getTextFromBinary = function() {
var stream = makeInterface(1); return UseObject("ADODB.Stream", function(stream) {
stream.Type = adTypeBinary; stream.Type = adTypeBinary;
stream.Open(); stream.Open();
stream.Write(this.value); stream.Write(this.value);
stream.Position = 0; stream.Position = 0;
stream.Type = adTypeText; stream.Type = adTypeText;
stream.CharSet = CdoCharset.CdoUTF_8; stream.CharSet = CdoCharset.CdoUTF_8;
return stream.ReadText(); return stream.ReadText();
});
}; };
this.repositionObject = function(stream, position) { this.repositionObject = function(stream, position) {
position = (position !== "number" ? 0 : position); position = (position !== "number" ? 0 : position);
return UseObject("ADODB.Stream", function(newStream) {
newStream.Type = adTypeBinary;
newStream.Mode = adModeReadWrite;
newStream.Open();
stream.Position = position;
stream.CopyTo(newStream);
stream.Flush();
stream.Close();
return newStream;
});
var _stream = makeInterface(1);
_stream.Type = adTypeBinary;
_stream.Mode = adModeReadWrite;
_stream.Open();
stream.Position = position;
stream.CopyTo(_stream);
stream.Flush();
stream.Close();
return _stream;
}; };
} }
@ -399,14 +408,15 @@ function PipeIPC() {
} }
// Convert UTF-16 BOM to a character set // Convert UTF-16 BOM to a character set
var stream = makeInterface(1); UseObject("ADODB.Stream", function(stream) {
stream.Type = adTypeText; stream.Type = adTypeText;
stream.Charset = charset; stream.Charset = charset;
stream.Open(); stream.Open();
stream.WriteText(str); stream.WriteText(str);
stream = (new Converter()).repositionObject(stream, 3); stream = (new Converter()).repositionObject(stream, 3);
stream.SaveToFile(dst, adSaveCreateOverWrite); stream.SaveToFile(dst, adSaveCreateOverWrite);
stream.Close(); stream.Close();
});
// Set a result // Set a result
isCommited = true; isCommited = true;
@ -462,7 +472,7 @@ function PipeIPC() {
this.openReader(); this.openReader();
text += this._read(this.reader); text += this._read(this.reader);
isReadCompleted = true; isReadCompleted = true;
this.lastReadTime = this.getCurrentTime(); this.lastReadTime = this.getCurrentTime();
this.closeReader(); this.closeReader();
} catch (e) { } catch (e) {
@ -495,15 +505,15 @@ function PipeIPC() {
var isReadCompleted = false; var isReadCompleted = false;
while (!isReadCompleted) { while (!isReadCompleted) {
try { try {
var ado = makeInterface(1); UseObject("ADODB.Stream", function(stream) {
ado.Charset = charset; stream.Charset = charset;
ado.Open(); stream.Open();
ado.LoadFromFile(filename); stream.LoadFromFile(filename);
text += ado.ReadText(); text += stream.ReadText();
ado.Close(); stream.Close();
});
isReadCompleted = true; isReadCompleted = true;
} catch (e) { } catch (e) {
//console.log(e.message);
isReadCompleted = false; isReadCompleted = false;
} }
} }
@ -555,7 +565,7 @@ exports.adSaveCreateNotExist = adSaveCreateNotExist;
exports.adSaveCreateOverWrite = adSaveCreateOverWrite; exports.adSaveCreateOverWrite = adSaveCreateOverWrite;
exports.adModeReadWrite = adModeReadWrite; exports.adModeReadWrite = adModeReadWrite;
exports.VERSIONINFO = "PIPE-based IPC Module (pipe-ipc.js) version 0.1.23"; exports.VERSIONINFO = "PIPE-based IPC Module (pipe-ipc.js) version 0.1.24";
exports.AUTHOR = "gnh1201@catswords.re.kr"; exports.AUTHOR = "gnh1201@catswords.re.kr";
exports.global = global; exports.global = global;
exports.require = require; exports.require = require;