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;
}
function makeInterface(i) {
return CreateObject(["Scripting.FileSystemObject", "ADODB.Stream"][i]);
}
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) {
return makeInterface(0).FileExists(filename);;
return UseObject("Scripting.FileSystemObject", function(fso) {
return fso.FileExists(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) {
try {
return makeInterface(0).GetFile(filename).Size;
return UseObject("Scripting.FileSystemObject", function(fso) {
return fso.GetFile(filename).Size;
});
} catch (e) {
return -1;
}
@ -130,40 +136,43 @@ function Converter() {
};
this.getBinaryFromText = function() {
var stream = makeInterface(1);
stream.Type = adTypeText;
stream.CharSet = CdoCharset.CdoUTF_8;
stream.Open();
stream.WriteText(this.value);
stream.Position = 0;
stream.Type = adTypeBinary;
return stream.Read();
return UseObject("ADODB.Stream", function(stream) {
stream.Type = adTypeText;
stream.CharSet = CdoCharset.CdoUTF_8;
stream.Open();
stream.WriteText(this.value);
stream.Position = 0;
stream.Type = adTypeBinary;
return stream.Read();
});
};
this.getTextFromBinary = function() {
var stream = makeInterface(1);
stream.Type = adTypeBinary;
stream.Open();
stream.Write(this.value);
stream.Position = 0;
stream.Type = adTypeText;
stream.CharSet = CdoCharset.CdoUTF_8;
return stream.ReadText();
return UseObject("ADODB.Stream", function(stream) {
stream.Type = adTypeBinary;
stream.Open();
stream.Write(this.value);
stream.Position = 0;
stream.Type = adTypeText;
stream.CharSet = CdoCharset.CdoUTF_8;
return stream.ReadText();
});
};
this.repositionObject = function(stream, 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
var stream = makeInterface(1);
stream.Type = adTypeText;
stream.Charset = charset;
stream.Open();
stream.WriteText(str);
stream = (new Converter()).repositionObject(stream, 3);
stream.SaveToFile(dst, adSaveCreateOverWrite);
stream.Close();
UseObject("ADODB.Stream", function(stream) {
stream.Type = adTypeText;
stream.Charset = charset;
stream.Open();
stream.WriteText(str);
stream = (new Converter()).repositionObject(stream, 3);
stream.SaveToFile(dst, adSaveCreateOverWrite);
stream.Close();
});
// Set a result
isCommited = true;
@ -462,7 +472,7 @@ function PipeIPC() {
this.openReader();
text += this._read(this.reader);
isReadCompleted = true;
this.lastReadTime = this.getCurrentTime();
this.closeReader();
} catch (e) {
@ -495,15 +505,15 @@ function PipeIPC() {
var isReadCompleted = false;
while (!isReadCompleted) {
try {
var ado = makeInterface(1);
ado.Charset = charset;
ado.Open();
ado.LoadFromFile(filename);
text += ado.ReadText();
ado.Close();
UseObject("ADODB.Stream", function(stream) {
stream.Charset = charset;
stream.Open();
stream.LoadFromFile(filename);
text += stream.ReadText();
stream.Close();
});
isReadCompleted = true;
} catch (e) {
//console.log(e.message);
isReadCompleted = false;
}
}
@ -555,7 +565,7 @@ exports.adSaveCreateNotExist = adSaveCreateNotExist;
exports.adSaveCreateOverWrite = adSaveCreateOverWrite;
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.global = global;
exports.require = require;