PigObjFsLib 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package PigObjFsLib --version 1.0.0                
NuGet\Install-Package PigObjFsLib -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PigObjFsLib" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PigObjFsLib --version 1.0.0                
#r "nuget: PigObjFsLib, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install PigObjFsLib as a Cake Addin
#addin nuget:?package=PigObjFsLib&version=1.0.0

// Install PigObjFsLib as a Cake Tool
#tool nuget:?package=PigObjFsLib&version=1.0.0                

PigObjFs

中文文档

This is an object-oriented Microsoft script runtime, that is Microsoft script runtime is used by creating object instead of directly referring to VB6 project. In this way, the compiled EXE file can run on different windows platforms.

There is also a version of .Net 5.0, which can run on Windows and Linux platforms.

Folders and files description

Setup

Execute code directory, if you don't want to see the source program, you can use the files in this directory directly in your VB.NET project.

Setup\VB6

Add the .cls and .bas files in the directory to your VB6 project, PigObjFs.exe For the compiled sample program.

Setup\VB6DLL

Will PigObjFsLib.dll File reference to your VB6 project can be used, but need to register through regsrv32 command, PigObjFsTestDll.exe For the compiled sample program.

Setup\DotNet5.0

Add the files in the directory to your. Net project, which can run on Windows, Linux and MacOS platforms.

Src

Source code directory.

Src\VB6

VB6 version of the source code and examples.

Src\VB6DLL

VB6 Active DLL version of the source code and examples.

Src\DotNet5.0

The .net 5.0 version of the source code and console program examples, compiler can run on Windows, Linux and MacOS platform.

What is without components

VB's not Objectified approach is to create an ActiveX object through CreateObject, and then use the interface of the class corresponding to the object variable through this object variable, For example:

Set moFS = CreateObject("Scripting.FileSystemObject")。

What are the benefits of without components

The program that can use VB without component has better compatibility. Ideally, the EXE file compiled can run on almost all versions of Windows platform, and there is no need to register components.

Because Windows has a large number of pre installed ActiveX components, these components can be used without registration, but the versions of these components on different versions of Windows platform are not the same, and the complete binary compatibility can not be guaranteed. If you refer to them in VB project and use such as Dim moFS As Scripting.FileSystemObject If ActiveX If the component binary is not compatible, an error will be reported.

But if it is used by creating object, even if the ActiveX component binary is not compatible, as long as the parameters and types of the interface are compatible, it can be used normally. In this way, the compiled VB program has the best compatibility.

How to handle without components

Component free needs to get better compatibility, but what CreateObject gets is an object variable, which is more attribute and method in VB GUI development environment, so the development is not friendly enough.

In order to solve this problem, we can create a "without components" class for the original class, which encapsulates the interface of the original class on the "componentless" class. The specific implementation method can be seen in https://github.com/PhongSeow/PigObjFs/tree/master/Src/VB6.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net5.0

    • No dependencies.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on PigObjFsLib:

Package Downloads
GetFileAndDirListLib

A class library that scans the current directory and generates directory lists and file lists.

PigObjFsDemoConsole

Demo console program library for PigObjFsLib.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.52 914 5/25/2023
2.0.50 600 5/1/2023
2.0.38 593 4/27/2023
2.0.36 406 4/16/2023
2.0.32 2,249 2/1/2023
2.0.30 5,956 10/16/2022
2.0.28 13,520 6/13/2022
2.0.18 2,289 4/11/2022
2.0.8 677 3/14/2022
1.3.8 2,524 8/28/2021
1.2.5.12 794 7/27/2021
1.2.5.9 406 7/25/2021
1.2.3.16 652 7/9/2021
1.2.3.2 689 2/24/2021
1.2.3 528 1/27/2021
1.2.2 483 1/26/2021
1.2.1 597 1/24/2021
1.1.0 428 1/21/2021
1.0.1 430 1/17/2021
1.0.0 363 1/4/2021

An interface that can be used under .net 5.0 is similar to the class library of Microsoft Scripting Runtime of VB6.