⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 changes.txt

📁 一个把VB原代码转换为VC原代码的软件代码。
💻 TXT
📖 第 1 页 / 共 2 页
字号:
----------------------------------------------------------------------------------
VB2Cpp - Visual Basic to C++ translator.
Copyright (C) 2002-2003 Franck Charlet.

VB2Cpp is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

VB2Cpp is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with VB2Cpp; see the file Copying.txt.  If not, write to
the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
----------------------------------------------------------------------------------

----------------------------------------------------------------------------------
v0.8.67 (22/06/2003):

	[NEW]	- User can now select modules to convert or cancel whole process
		  after projects loading.
		  ("NO CONVERSION" flag isn't recognized anymore).

		- Third argument is now optional in Instr().

		- New dynamic arrays engine (much cleaner and faster).

		- Added App.EXEName.

		- Added CLng().

		- Comparisons handling re-written.

		- DoEvents statement modified.

		- Added Dir().

		- Added handling for VB4/VB5 projects.

		- The converter will use project's name if Title tag can't be found.

		- Added Timer().

		- Now displays number of reported warnings.

		- Removed the textbox in main window.

		- Added Split().

		- Handling of Static statements for sub/functions/variables.

		- Unknown entity tag now embedded in comments.

		- Added an option to write original VB sourcecodes lines
		  in produced output (as comments).

		- Modified and simplified code generation for Select/Case
		  (now uses if/else instead of if/goto).

		- Debug configurations in generated projects now use debug libraries
		  by default.

		- Local dynamic arrays are now supported.

	[FIX]	- Fixed some bugs in InStr()

		- Fixed functions return values problem, such form is now allowed:

			Public Function MyFunction() As String
				MyFunction = "toto"
			End Function

		- Arrays handlers were returning a null pointer in some cases,
		  causing a GPF.

		- Str() now accepts double numbers.

		- Sgn() now accepts double numbers.

		- Val() can now convert double numbers inside strings.

		- Fixed some conversions problems.

		- Longs and integers are now declared as signed.

		- Some values weren't reseted correctly after a project conversion.

		- Fixed nested GoSub/Return statements problem
		  (using inline Assembly language).

		- Fixed some bugs with Case Else.

		- Won't crash if an invalid function is found in pass 2.
		  (Occured when "Assume default type" was set to "(Report error)" and
		  and "Stop process at first error" wasn't checked).

		- Now recognizes 0 To xxx form in REDIM statements.

		- Won't initialize arrays of strings with null pointers anymore.

		- Fixed DLLs names in declarations.

		- The converter was confused with local variables sharing
		  their names with functions.

		- Won't write global variables declarations in place of local ones
		  sharing same names.

		- All subs/functions are now using stdcall convention.

		- Byref arguments recognition was broken for some reasons.

		- Modified way of handling temporary strings.

		- Fixed second argument problem in String().

		- Some auto-generated numbers weren't resetted correctly.

		- Fixed some troubles with For statements.

		- Local copy of subs/functions strings arguments passed by values
		  to avoid conflicts with temporary strings table (for example with
		  recursive routines).

		- Memory allocations are now global.

		- Fixed vbNewLine and vbCrLf constants in MiniWin.h
		  (strcat() was causing heap memory problems).

		- Removed some bugs in IsNumeric() (tricky function).

		- Can now open modules located in different drives.

		- Modified way of handling string parameters not passed byval.

		- Should now be able to handle byref arguments correctly
		  (especially strings).

		- Local variables declarations are now gathered at the entry points
		  of the functions (to avoid VC's variables skip error).

		- Elements of user types arguments are modified after possible
		  conversion checking.

		- MsgBox() now limits the number of displayed chars to 1024
		  (like VB does).

		- Not operator converted to ~ instead of ! (stoopid).

		- Fixed StrComp function.

		- LTrim()/Trim() won't remove tabs anymore.

	[MISC]	- Replaced all assembly functions with C equivalents (vb6asmlib removed).

		- Removed warning message produced by VC linker (merged segments).

		- Updated MiniWin.h.

		- Default compilation mode for project is now Native (was PCode)
		  (conversions done with executable file are now much faster).

		- Added NDEBUG constant definition in VC projects generation.

		- Removed static option in preferences (now useless).

		- Modified IsVariable() for more accurate searching.

		- Strings stack enlarged.

		- Removed the display of generated labels in summary (obsolete).

		- Now uses malloc/free for memory working.

		- Numerous little improvments here and there.

----------------------------------------------------------------------------------
v0.7.9 (20/09/2002):

	[NEW]	- Added handling for Gosub..Return instructions.

		- Added MidB as instruction and function (Same as Mid).

		- Added instruction Randomize and function Rnd()

		- Added recognition for int().

	[FIX]	- Now frees memory on End and Stop statements (right before exit(0)).

		- VC won't report an error for orphans numeric labels with : suffix.

		- Changed abs() into fabs().

	[SRC]	- Added some new required declarations in MiniWin.h.

		- Modified Example 2 (modified slightly + added a time counter).

----------------------------------------------------------------------------------
v0.6.22 (16/09/2002):

	[NEW]	- Added MsgBox() (hehe).

		- Added more boolean conversions.

		- Added App.Title.

		- Added recognition for array(0 to x,0 to x...) format.

		- Now recognizes $&!# chars after functions names
		  (Not finished).

		- Added an option to pass over errors without breaking
		  conversion process (the converter will just write the faulty line
		  in the destination file and will continue).

	[FIX]	- Better recognition of optional arguments in subs/functions
		  (simple ones only).

		- Corrected FileLen() (was broken).

		- Added ; char right after labels to avoid strange messages
		  from MS compiler with orphans labels.

		- IsNumeric() now recognizes booleans.

		- Functions trailing chars handled differently.

		- Now accepts comments in enumerations.

		- Handles empty arguments passed to functions (put default value).

	[SRC]	- Cleaned up ConvertEntity() a bit.
	
		- Added DisplayWarning() function.

		- Added GetExpressionDoubleHunt().

		- Corrected cases of C functions to match VB's ones
		  (Except LBound/UBound which are special cases).

		- Replaced all lstrcmp/i APIs with C lib functions 
		  in generated code.

		- IsNumeric() declaration corrected
		  (was VAR_LONG but must be VAR_BOOLEAN).

		- Added more garbage in Example5.

		- Disabled warning 4305: truncation from 'const double' to 'float'
		  (VB truncates it anyway).

		- IsSimpleElement() more accurate now concerning generated code.

----------------------------------------------------------------------------------
v0.5.76 (02/09/2002):

	[NEW]	- Added With/End With statements recognitions.

		- Unspecified types can now be enforced into a basic type 
		  or produce an error (option can be found in preferences).

		- Should pass over Debug.Print/Debug.?/Debug.Assert statements.

		- Added handling for IsNumeric().

		- Now recognizes ChDrive instruction (No directories caching).

		- Added CurDir()/CurDir$() function.

		- Added Date()/Date$()/Time()/Time$()/Now() functions.

		- Removed warning 4700 (Unitialized variable).

		- String to String ifs and select cases are now handled differently
		  and are possible in some cases (not tested extensively).

		- Now can handle several variables declarations on same line 
		  as both local and global like:

		   Dim Var1 As Integer,Var2 As String ...

		- Added support for ElseIf instruction (not tested extensively).

		- Added handling for Loop While statements.

		- Added handling for Loop Until statements.

		- Added handling for Do Until statements.

		- Added handling for While/Wend couple.

		- Added Call instruction.

		- Added Let instruction.

		- Added Rem instruction.

		- Added SetAttr instruction.

		- Added Stop instruction (handled like End).

		- Added Option Compare predicat (global only).

		- Added AscB() function.

		- Added ChrB() function.

		- Added DoEvents instruction (Just replaced with Sleep(0)).

		- Added Oct() function.

		- Added StrComp() function.

		- Should recognizes + operator with strings operations.

		- Integer/Long/Double conversions to string doesn't create 
		  temporary variables anymore (uses str()/dbltostr() instead).

		- Same goes for String conversions to Int/Long.

		- Added user32.lib in minimum needed libraries.

		- Added handling for Single numbers (Added also sngtostr()).

		- Conversion handling from String to double/single doesn't use
		  (lousy) atol() anymore (now strtodbl()/strtosng()).

		- Added handling for multiple constants declarations/line.

		- Explicit types of constants are now allowed.

		- Added recognition of #const/#if/#elseif/#else/#endif compilation
		  instructions: these ones are handled like normal ones due to
		  C/C++ preprocessor inferiority against VB one
		  (and due to the nature of my lousy "parser").
		  The converter will just add a notification comment 
		  above the encountered instruction.

		- All builtin constants are declared inside appropriate enumerations
		  (Eg. It is now possible to use: Constants.vbCr).

		- Lines numbers are now handled as prefix and in goto instructions
		  (Converted to local labels).

		- Added StartMode to App object.

		- Boolean to string conversions are now handled correctly.

	[FIX]	- Minors enhancements in GUI:
		  - Properties can be validated with "enter" key.
		  - It now reloads parameters correctly within a session.
		  - And main window now opens in maximized state.

		- Should pass over "Attribute" internal keyword.
		  I just found this laying in the middle of a module and honestly 
		  i still can't figure out what it is. It was something like:
		   
		   Attribute <FunctionName>.VB_MemberFlags="2"

		  If someone have clues about this just let me know...

		- Fixed a (stupid) bug in select case code generation.

		- Now accept comments after labels.

		- Should now recognizes numbers inside quotes.

		- Now try to avoid more types conversions (if possible).

		- Literal strings are now correctly converted.

		- Corrected labels generation.

		- Single lines ifs are now generated like blocks ones
		  to avoid conversions garbage.

		- User types arguments are now passed by address if the function
		  is waiting for an user type too.

		- Now try to retrieve real type of referenced variables
		  in user types to avoid some useless conversions.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -