奇怪的Floating Point Division By Zero问题.....

yang_jnu 2011-09-28 10:24:45
按照错误提示,问题应该出在除以0,但我根本就没有除法运算,于是单步调试,发现错误出在一个ShowMessage语句,函数简略如下:
void function(void) {
... // 位置1
for (int i = 0; i < 6; i ++) {
... // 位置2
pWirelessCfg->mod_en[i] = 0xAA // 其中pWirelessCfg为指向一个结构体的指针,成员mod_en为unsigned char
// 类型的数组
ShowMessage("Error take place!"); // 运行此语句,提示除以0错误
...
}
... // 位置3
}
程序运行到ShowMessage语句时会弹出一个Floating Point Division By Zero的错误,点确定后程序照常运行,如果省略ShowMessage语句,程序正常运行。

我作了几种测试:
1. 将0xAA改为其它值,运行不会出现错误,例如0xBB等,仅为0xAA才出错
2. 将ShowMessage语句放在pWirelessCfg->mod_en[i] = 0xAA语句前的任何一个位置,如位置1,2,ShowMessage语句都不会出错
3. 将ShowMessage语句放在pWirelessCfg->mod_en[i] = 0xAA语句后的任何一个位置,如位置3,ShowMessage语句就会出现Floating Point Division By Zero错误提示
4. 用MessageBox替换ShowMessage后同样出现这种问题(感觉好像只要放在pWirelessCfg->mod_en[i] = 0xAA语句后面的弹窗操作都会出现这种错误)

上面都是简单的调试,但让我疑惑了好久。。。希望得到高手指点!!!
...全文
10087 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang_jnu 2011-09-29
  • 打赏
  • 举报
回复
一头暮水中.....
yang_jnu 2011-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 keiy 的回复:]

光这段程序看不出什么问题.可能的问题是因为数组越界导至程序数据区崩溃.特别是程序复杂时,这种情况很常见
[/Quote]
首先感谢你的回答,一开始我也认为是可能是数组越界之累的,将0xAA改为其它值,运行就不会出现错误了,纳闷中....此外,今天调试时发现:之前,function函数的调用放在FormCreat里面调用时会出错的,在我的主窗口完成后再调用function就不会有问题,感觉就像只要在pWirelessCfg->mod_en[i] = 0xAA这句话前面出现了窗口,比如说用showMessage()弹出的窗口或者是主窗口,程序就不会出现Floating Point Division By Zero的问题
cczlp 2011-09-29
  • 打赏
  • 举报
回复
mod_en[i]可能超过数组范围了. 还是检查是否越界吧
柯本 2011-09-28
  • 打赏
  • 举报
回复
光这段程序看不出什么问题.可能的问题是因为数组越界导至程序数据区崩溃.特别是程序复杂时,这种情况很常见

1 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 A Brief Introduction to C++ . . . . . . . . . . . . . . . . . . . 1.1.1 C++ is “Object-Oriented” . . . . . . . . . . . . . . . . 1.1.2 Why You Should Write Scientific Programs in C++ . . 1.1.3 Why You Should Not Write Scientific Programs in C++ 1.1.4 Scope of This Book . . . . . . . . . . . . . . . . . . . 1.2 A First C++ Program . . . . . . . . . . . . . . . . . . . . . . 1.3 Compiling a C++ Program . . . . . . . . . . . . . . . . . . . . 1.3.1 Integrated Development Environments . . . . . . . . . 1.3.2 Compiling at the Command Line . . . . . . . . . . . . 1.3.3 Compiler Flags . . . . . . . . . . . . . . . . . . . . . . 1.4 Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.1 Basic Numerical Variables . . . . . . . . . . . . . . . . 1.4.2 Other Numerical Variables . . . . . . . . . . . . . . . 1.4.3 Mathematical Operations on Numerical Variables . . . 1.4.4 Division of Integers . . . . . . . . . . . . . . . . . . . 1.4.5 Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4.6 ASCII Characters . . . . . . . . . . . . . . . . . . . . 1.4.7 Boolean Variables . . . . . . . . . . . . . . . . . . . . 1.4.8 Strings . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Simple Input and Output . . . . . . . . . . . . . . . . . . . . . 1.5.1 Basic Console Output . . . . . . . . . . . . . . . . . . 1.5.2 Keyboard Input . . . . . . . . . . . . . . . . . . . . . 1.6 The assert Statement . . . . . . . . . . . . . . . . . . . . . 1.7 Tips: Debugging Code . . . . . . . . . . . . . . . . . . . . . . 1.8 Exercises . . . . . . . . . . . . . . . . . . . . . . 2 Flow of Control . . . . . . . . . . . . . . . . . . . . . 2.1 The if Statement . . . . . . . . . . . . . . . . . 2.1.1 A Single if Statement . . . . . . . . . . 2.1.2 Example: Code for a Single if Statement 2.1.3 if–else Statements . . . . . . . . . . . 2.1.4 Multiple if Statements . . . . . . . . . . 2.1.5 Nested if Statements . . . . . . 2.1.6 Boolean Variables . . . . . . . . . . . . . . . . . . . . 2.2 Logical and Relational Operators . . . . . . . . . . . . . . . . 2.3 The while Statement . . . . . . . . . . . . . . . . . . . . . . 2.4 Loops Using the for Statement . . . . . . . . . . . . . . . . . 2.4.1 Example: Calculating the Scalar Product of Two Vectors 2.5 The switch Statement . . . . . . . . . . . . . . . . . . . . . 2.6 Tips: Loops and Branches . . . . . . . . . . . . . . . . . . . . 2.6.1 Tip 1: A Common Novice Coding Error . . . . . . . . 2.6.2 Tip 2: Counting from Zero . . . . . . . . . . . . . . . . 2.6.3 Tip 3: Equality Versus Assignment . . . . . . . . . . . 2.6.4 Tip 4: Never Ending while Loops . . . . . . . . . . . 2.6.5 Tip 5: Comparing Two Floating Point Numbers . . . . 2.7 Exercises . . . . . . . . . . . . . . . . . . . . 3 File Input and Output . . . . . . . . . . . . . 3.1 Redirecting Console Output to File . . . . 3.2 Writing to File . . . . . . . . . . . . . . . 3.2.1 Setting the Precision of the Output 3.3 Reading from File . . . . . . . . . . . . . 3.4 Reading from the Command Line . . . . . 3.5 Tips: Controlling Output Format . . . . . 3.6 Exercises . . . . . . . . . . 4 Pointers . . . . . . . . . . . . . . . . . . . . . 4.1 Pointers and the Computer’s Memory . . . 4.1.1 Addresses . . . . . . . . . . . . . 4.1.2 Pointer Variables . . . . . . . . . . 4.1.3 Example Use of Pointers . . . . . 4.1.4 Warnings on the Use of Pointers . . 4.2 Dynamic Allocation of Memory for Arrays 4.2.1 Vectors . . . . . . . . . . . . . . . 4.2.2 Matrices . . . . . . . . . . . . . . 4.2.3 Irregularly Sized Matrices . . . . . 4.3 Tips: Pointers . . . . . . . . . . . . . . . 4.3.1 Tip 1: Pointer Aliasing . . . . . . . 4.3.2 Tip 2: Safe Dynamic Allocation . . 4.3.3 Tip 3: Every new Has a delete . 4.4 Exercises . . . . . . . . . . . 5 Blocks, Functions and Reference Variables . . . . . . . 5.1 Blocks . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Functions . . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Simple Functions . . . . . . . . . . . . . . 5.2.2 Returning Pointer Variables from a Function 5.2.3 Use of Pointers as Function Arguments . . . 5.2.4 Sending Arrays to Functions . . Example: A Function to Calculate the Scalar Product of Two Vectors . . . . . . . . . . . . . . . . . . . . . . . Reference Variables . . . . . . . . . . . . . . . . . . . . . . . Default Values for Function Arguments . . . . . . . . . . . . . Function Overloading . . . . . . . . . . . . . . . . . . . . . . Declaring Functions Without Prototypes . . . . . . . . . . . . Function Pointers . . . . . . . . . . . . . . . . . . . . . . . . Recursive Functions . . . . . . . . . . . . . . . . . . . . . . . Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tips: Code Documentation . . . . . . . . . . . . . . . . . . . Exercises . . . . . . . . . . . . . . . . . . . . . . An Introduction to Classes . . . . . . . . . . . . . . . . . . . . . . . 6.1 The Raison d’Être for Classes . . . . . . . . . . . . . . . . . . . 6.1.1 Problems That May Arise When Using Modules . . . . . 6.1.2 Abstraction, Encapsulation and Modularity Properties of Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 A First Example Simple Class: A Class of Books . . . . . . . . . 6.2.1 Basic Features of Classes . . . . . . . . . . . . . . . . . 6.2.2 Header Files . . . . . . . . . . . . . . . . . . . . . . . . 6.2.3 Setting and Accessing Variables . . . . . . . . . . . . . . 6.2.4 Compiling Multiple Files . . . . . . . . . . . . . . . . . 6.2.5 Access Privileges . . . . . . . . . . . . . . . . . . . . . 6.2.6 Including Function Implementations in Header Files . . . 6.2.7 Constructors and Destructors . . . . . . . . . . . . . . . 6.2.8 Pointers to Classes . . . . . . . . . . . . . . . . . . . . . 6.3 The friend Keyword . . . . . . . . . . . . . . . . . . . . . . 6.4 A Second Example Class: A Class of Complex Numbers . . . . . 6.4.1 Operator Overloading . . . . . . . . . . . . . . . . . . . 6.4.2 The Class of Complex Numbers . . . . . . . . . . . . . . 6.5 Some Additional Remarks on Operator Overloading . . . . . . . 6.6 Tips: Coding to a Standard . . . . . . . . . . . . . . . . . . . . . 6.7 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 Inheritance and Derived Classes . . . . . . . . . . . . . . . . . 7.1 Inheritance, Extensibility and Polymorphism . . . . . . . . . 7.2 Example: A Class of E-books Derived from a Class of Books 7.3 Access Privileges for Derived Classes . . . . . . . . . . . . . 7.4 Classes Derived from Derived Classes . . . . . . . . . . . . 7.5 Run-Time Polymorphism . . . . . . . . . . . . . . . . . . . 7.6 The Abstract Class Pattern . . . . . . . . . . . . . . . . . . . 7.7 Tips: Using a Debugger . . . . . . . . . . . . . . . . . . . . 7.8 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 8.1 Templates to Control Dimensions and Verify Sizes . . . . . . . . 8.2 Templates for Polymorphism . . . . . . . . . . 8.3 A Brief Survey of the Standard Template Library 8.3.1 Vectors . . . . . . . . . . . . . . . . . . 8.3.2 Sets . . . . . . . . . . . . . . . . . . . . 8.4 Tips: Template Compilation . . . . . . . . . . . 8.5 Exercises . . . . . . . . . . . . . . . . . . . . . Errors and Exceptions . . . . . . . . . . . . . . . . . . . . . . . . 9.1 Preconditions . . . . . . . . . . . . . . . . . . . . . . . . . . 9.1.1 Example: Two Implementations of a Graphics Function 9.2 Three Levels of Errors . . . . . . . . . . . . . . . . . . . . . . 9.3 Introducing the Exception . . . . . . . . . . . . . . . . . . . . 9.4 Using Exceptions . . . . . . . . . . . . . . . . . . . . . . . . 9.5 Tips: Test-Driven Development . . . . . . . . . . . . . . . . . 9.6 Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Developing Classes for Linear Algebra Calculations 10.1 Requirements of the Linear Algebra Classes . . . 10.2 Constructors and Destructors . . . . . . . . . . . 10.2.1 The Default Constructor . . . . . . . . . . 10.2.2 The Copy Constructor . . . . . . . . . . . 10.2.3 A Specialised Constructor . . . . . . . . . 10.2.4 Destructor . . . . . . . . . . . . . . . . . 10.3 Accessing Private Class Members . . . . . . . . . 10.3.1 Accessing the Size of a Vector . . . . . . . 10.3.2 Overloading the Square Bracket Operator . 10.3.3 Read-Only Access to Vector Entries . . . . 10.3.4 Overloading the Round Bracket Operator . 10.4 Operator Overloading for Vector Operations . . . 10.4.1 The Assignment Operator . . . . . . . . . 10.4.2 Unary Operators . . . . . . . . . . . . . . 10.4.3 Binary Operators . . . . . . . . . . . . . . 10.5 Functions . . . . . . . . . . . . . . . . . . . . . . 10.5.1 Members Versus Friends . . . . . . . . . . 10.6 Tips: Memory Debugging Tools . . . . . . . . . . 10.7 Exercises . . . . . . . . . . . . . . . . 11 An Introduction to Parallel Programming Using MPI . 11.1 Distributed Memory Architectures . . . . . . . . . 11.2 Installing MPI . . . . . . . . . . . . . . . . . . . . 11.3 A First Program Using MPI . . . . . . . . . . . . . 11.3.1 Essential MPI Functions . . . . . . . . . . . 11.3.2 Compiling and Running MPI Code . . . . . 11.4 Basic MPI Communication . . . . . . . . . . . . . 11.4.1 Point-to-Point Communication . . . . . . . 11.4.2 Collective Communication . . . . 11.5 Example MPI Applications . . . . . . . . . . . 11.5.1 Summation of Series . . . . . . . . . . . 11.5.2 Parallel Linear Algebra . . . . . . . . . 11.6 Tips: Debugging a Parallel Program . . . . . . . 11.6.1 Tip 1: Make an Abstract Program . . . . 11.6.2 Tip 2: Datatype Mismatch . . . . . . . . 11.6.3 Tip 3: Intermittent Deadlock . . . . . . . 11.6.4 Tip 4: Almost Collective Communication 11.7 Exercises . . . . . . . . . . . . . . . 12 Designing Object-Oriented Numerical Libraries . . . . . . . . . . . 12.1 Developing the Library for Ordinary Differential Equations . . . . 12.1.1 Model Problems . . . . . . . . . . . . . . . . . . . . . . . 12.1.2 Finite Difference Approximation to Derivatives . . . . . . 12.1.3 Application of Finite Difference Methods to Boundary Value Problems . . . . . . . . . . . . . . . . . . . . . . . 12.1.4 Concluding Remarks on Boundary Value Problems in One Dimension . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Designing a Library for Solving Boundary Value Problems . . . . 12.2.1 The Class SecondOrderOde . . . . . . . . . . . . . . . 12.2.2 The Class BoundaryConditions . . . . . . . . . . . . 12.2.3 The Class FiniteDifferenceGrid . . . . . . . . . . 12.2.4 The Class BvpOde . . . . . . . . . . . . . . . . . . . . . 12.2.5 Using the Class BvpOde . . . . . . . . . . . . . . . . . . 12.3 Extending the Library to Two Dimensions . . . . . . . . . . . . . 12.3.1 Model Problem for Two Dimensions . . . . . . . . . . . . 12.3.2 Finite Difference Methods for Boundary Value Problems in Two Dimensions . . . . . . . . . . . . . . . . . . . . . 12.3.3 Setting Up the Linear System for the Model Problem . . . 12.3.4 Developing the Classes Required . . . . . . . . . . . . . . 12.4 Tips: Using Well-Written Libraries . . . . . . . . . . . . . . . . . 12.5 Exercises . . . . . . . . . . . . . . . . . . . . . . . Appendix A Linear Algebra . . . . . . . . . . . . . . . . . A.1 Vectors and Matrices . . . . . . . . . . . . . . . . . A.1.1 Operations Between Vectors and Matrices . A.1.2 The Scalar Product of Two Vectors . . . . . A.1.3 The Determinant and the Inverse of a Matrix A.1.4 Eigenvalues and Eigenvectors of a Matrix . . A.1.5 Vector and Matrix Norms . . . . . . . . . . A.2 Systems of Linear Equations . . . . . . . . . . . . A.2.1 Gaussian Elimination . . . . . . . . . . . . A.2.2 The Thomas Algorithm . . . . . . . . . . . A.2.3 The Conjugate Gradient Method . . . . . . 213 Appendix B Other Programming Constructs You Might Meet . B.1 C Style Output . . . . . . . . . . . . . . . . . . . . . . . B.2 C Style Dynamic Memory Allocation . . . . . . . . . . . B.3 Ternary ?: Operator . . . . . . . . . . . . . . . . . . . . B.4 Using Namespace . . . . . . . . . . . . . . . . . . . . . B.5 Structures . . . . . . . . . . . . . . . . . . . . . . . . . B.6 Multiple Inheritance . . . . . . . . . . . . . . . . . . . . B.7 Class Initialisers . . . . . . . . . . . . . . . . Appendix C Solutions to Exercises . . . . . . . . . . . . . . . . . . . . . 231 C.1 Matrix and Linear System Classes . . . . . . . . . . . . . . . . . . 231 C.2 ODE Solver Library . . . . . . . . . . . . . . . . . . . . . . . . . 240 Further Reading . . . . . . . . . . . . . . . . . . . Mathematical Methods and Linear Algebra C++ Programming . . . . . . . . . . . . . The Message-Passing Interface (MPI) . . .
Complete Digital Design - A Comprehensive Guide to Digital Electronics and Computer System Architecture PART 1 Digital Fundamentals Chapter 1 Digital Logic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 1.1 Boolean Logic / 3 1.2 Boolean Manipulation / 7 1.3 The Karnaugh map / 8 1.4 Binary and Hexadecimal Numbering / 10 1.5 Binary Addition / 14 1.6 Subtraction and Negative Numbers / 15 1.7 Multiplication and Division / 17 1.8 Flip-Flops and Latches / 18 1.9 Synchronous Logic / 21 1.10 Synchronous Timing Analysis / 23 1.11 Clock Skew / 25 1.12 Clock Jitter / 27 1.13 Derived Logical Building Blocks / 28 Chapter 2 Integrated Circuits and the 7400 Logic Families. . . . . . . . . . . . . . . . . . . . .33 2.1 The Integrated Circuit / 33 2.2 IC Packaging / 38 2.3 The 7400-Series Discrete Logic Family / 41 2.4 Applying the 7400 Family to Logic Design / 43 2.5 Synchronous Logic Design with the 7400 Family / 45 2.6 Common Variants of the 7400 Family / 50 2.7 Interpreting a Digital IC Data Sheet / 51 Chapter 3 Basic Computer Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55 3.1 The Digital Computer / 56 3.2 Microprocessor Internals / 58 3.3 Subroutines and the Stack / 60 3.4 Reset and Interrupts / 62 3.5 Implementation of an Eight-Bit Computer / 63 3.6 Address Banking / 67 3.7 Direct Memory Access / 68 3.8 Extending the Microprocessor Bus / 70 3.9 Assembly Language and Addressing Modes / 72 Chapter 4 Memory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77 4.1 Memory Classifications / 77 4.2 EPROM / 79 4.3 Flash Memory / 81 4.4 EEPROM / 85 4.5 Asynchronous SRAM / 86 4.6 Asynchronous DRAM / 88 4.7 Multiport Memory / 92 4.8 The FIFO / 94 Chapter 5 Serial Communications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97 5.1 Serial vs. Parallel Communication / 98 5.2 The UART / 99 5.3 ASCII Data Representation / 102 5.4 RS-232 / 102 5.5 RS-422 / 107 5.6 Modems and Baud Rate / 108 5.7 Network Topologies / 109 5.8 Network Data Formats / 110 5.9 RS-485 / 112 5.10 A Simple RS-485 Network / 114 5.11 Interchip Serial Communications / 117 Chapter 6 Instructive Microprocessors and Microcomputer Elements . . . . . . . . . .121 6.1 Evolution / 121 6.2 Motorola 6800 Eight-bit Microprocessor Family / 122 6.3 Intel 8051 Microcontroller Family / 125 6.4 Microchip PIC® Microcontroller Family / 131 6.5 Intel 8086 16-Bit Microprocessor Family / 134 6.6 Motorola 68000 16/32-Bit Microprocessor Family / 139 PART 2 Advanced Digital Systems Chapter 7 Advanced Microprocessor Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145 7.1 RISC and CISC / 145 7.2 Cache Structures / 149 7.3 Caches in Practice / 154 7.4 Virtual Memory and the MMU / 158 7.5 Superpipelined and Superscalar Architectures / 161 7.6 Floating-Point Arithmetic / 165 7.7 Digital Signal Processors / 167 7.8 Performance Metrics / 169 Chapter 8 High-Performance Memory Technologies. . . . . . . . . . . . . . . . . . . . . . . . .173 8.1 Synchronous DRAM / 173 8.2 Double Data Rate SDRAM / 179 8.3 Synchronous SRAM / 182 8.4 DDR and QDR SRAM / 185 8.5 Content Addressable Memory / 188 Chapter 9 Networking. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .193 9.1 Protocol Layers One and Two / 193 9.2 Protocol Layers Three and Four / 194 9.3 Physical Media / 197 9.4 Channel Coding / 198 9.5 8B10B Coding / 203 9.6 Error Detection / 207 9.7 Checksum / 208 9.8 Cyclic Redundancy Check / 209 9.9 Ethernet / 215 Chapter 10 Logic Design and Finite State Machines . . . . . . . . . . . . . . . . . . . . . . . . .221 10.1 Hardware Description Languages / 221 10.2 CPU Support Logic / 227 10.3 Clock Domain Crossing / 233 10.4 Finite State Machines / 237 10.5 FSM Bus Control / 239 10.6 FSM Optimization / 243 10.7 Pipelining / 245 Chapter 11 Programmable Logic Devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .249 11.1 Custom and Programmable Logic / 249 11.2 GALs and PALs / 252 11.3 CPLDs / 255 11.4 FPGAs / 257 PART 3 Analog Basics for Digital Systems Chapter 12 Electrical Fundamentals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267 12.1 Basic Circuits / 267 12.2 Loop and Node Analysis / 268 12.3 Resistance Combination / 271 12.4 Capacitors / 272 12.5 Capacitors as AC Elements / 274 12.6 Inductors / 276 12.7 Nonideal RLC Models / 276 12.8 Frequency Domain Analysis / 279 12.9 Lowpass and Highpass Filters / 283 12.10 Transformers / 288 Chapter 13 Diodes and Transistors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .293 13.1 Diodes / 293 13.2 Power Circuits with Diodes / 296 13.3 Diodes in Digital Applications / 298 13.4 Bipolar Junction Transistors / 300 13.5 Digital Amplification with the BJT / 301 13.6 Logic Functions with the BJT / 304 13.7 Field-Effect Transistors / 306 13.8 Power FETs and JFETs / 309 Chapter 14 Operational Amplifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311 14.1 The Ideal Op-amp / 311 14.2 Characteristics of Real Op-amps / 316 14.3 Bandwidth Limitations / 324 14.4 Input Resistance / 325 14.5 Summation Amplifier Circuits / 328 14.6 Active Filters / 331 14.7 Comparators and Hysteresis / 333 Chapter 15 Analog Interfaces for Digital Systems . . . . . . . . . . . . . . . . . . . . . . . . . . .339 15.1 Conversion between Analog and Digital Domains / 339 15.2 Sampling Rate and Aliasing / 341 15.3 ADC Circuits / 345 15.4 DAC Circuits / 348 15.5 Filters in Data Conversion Systems / 350 PART 4 Digital System Design in Practice Chapter 16 Clock Distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .355 16.1 Crystal Oscillators and Ceramic Resonators / 355 16.2 Low-Skew Clock Buffers / 357 16.3 Zero-Delay Buffers: The PLL / 360 16.4 Frequency Synthesis / 364 16.5 Delay-Locked Loops / 366 16.6 Source-Synchronous Clocking / 367 Chapter 17 Voltage Regulation and Power Distribution . . . . . . . . . . . . . . . . . . . . . .371 17.1 Voltage Regulation Basics / 372 17.2 Thermal Analysis / 374 17.3 Zener Diodes and Shunt Regulators / 376 17.4 Transistors and Discrete Series Regulators / 379 17.5 Linear Regulators / 382 17.6 Switching Regulators / 386 17.7 Power Distribution / 389 17.8 Electrical Integrity / 392 Chapter 18 Signal Integrity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .397 18.1 Transmission Lines / 398 18.2 Termination / 403 18.3 Crosstalk / 408 18.4 Electromagnetic Interference / 410 18.5 Grounding and Electromagnetic Compatibility / 413 18.6 Electrostatic Discharge / 415 Chapter 19 Designing for Success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419 19.1 Practical Technologies / 420 19.2 Printed Circuit Boards / 422 19.3 Manually Wired Circuits / 425 19.4 Microprocessor Reset / 428 19.5 Design for Debug / 429 19.6 Boundary Scan / 431 19.7 Diagnostic Software / 433 19.8 Schematic Capture and Spice / 436 19.9 Test Equipment / 440 Appendix A Further Education. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .443 Index 445
Table of Contents Preface About this book Using this book Glossary Typographic conventions Feedback Other information 1 Overview of the Assembler 1.1 About the ARM Compiler toolchain assemblers 1.2 Key features of the assembler 1.3 How the assembler works 1.4 Directives that can be omitted in pass 2 of the assembler 2 Overview of the ARM Architecture 2.1 About the ARM architecture 2.2 ARM, Thumb, and ThumbEE instruction sets 2.3 Changing between ARM, Thumb, and ThumbEE state 2.4 Processor modes, and privileged and unprivileged software execution 2.5 Processor modes in ARMv6-M and ARMv7-M 2.6 VFP hardware 2.7 ARM registers 2.8 General-purpose registers 2.9 Register accesses 2.10 Predeclared core register names 2.11 Predeclared extension register names 2.12 Predeclared coprocessor names 2.13 Program Counter 2.14 Application Program Status Register 2.15 The Q flag 2.16 Current Program Status Register 2.17 Saved Program Status Registers 2.18 ARM and Thumb instruction set overview 2.19 Access to the inline barrel shifter 3 Structure of Assembly Language Modules 3.1 Syntax of source lines in assembly language 3.2 Literals 3.3 ELF sections and the AREA directive 3.4 An example ARM assembly language module 4 Writing ARM Assembly Language 4.1 About the Unified Assembler Language 4.2 Register usage in subroutine calls 4.3 Load immediate values 4.4 Load immediate values using MOV and MVN 4.5 Load immediate values using MOV32 4.6 Load immediate values using LDR Rd, =const 4.7 Literal pools 4.8 Load addresses into registers 4.9 Load addresses to a register using ADR 4.10 Load addresses to a register using ADRL 4.11 Load addresses to a register using LDR Rd, =label 4.12 Other ways to load and store registers 4.13 Load and store multiple register instructions 4.14 Load and store multiple register instructions in ARM and Thumb 4.15 Stack implementation using LDM and STM 4.16 Stack operations for nested subroutines 4.17 Block copy with LDM and STM 4.18 Memory accesses 4.19 The Read-Modify-Write operation 4.20 Optional hash with immediate constants 4.21 Use of macros 4.22 Test-and-branch macro example 4.23 Unsigned integer division macro example 4.24 Instruction and directive relocations 4.25 Frame directives 4.26 Exception tables and Unwind tables 4.27 Assembly language changes after RVCT v2.1 5 Condition Codes 5.1 Conditional instructions 5.2 Conditional execution in ARM state 5.3 Conditional execution in Thumb state 5.4 Updates to the condition flags 5.5 Condition code suffixes and related flags 5.6 Comparison of condition code meanings in integer and floating-point code 5.7 Benefits of using conditional execution 5.8 Example showing the benefits of using conditional instructions 5.9 Optimization for execution speed 6 Using the Assembler 6.1 armasm command-line syntax 6.2 Specify command-line options with an environment variable 6.3 Using stdin to input source code to the assembler 6.4 Built-in variables and constants 6.5 Identifying versions of armasm in source code 6.6 Diagnostic messages 6.7 Interlocks diagnostics 6.8 Automatic IT block generation 6.9 Thumb branch target alignment 6.10 Thumb code size diagnostics 6.11 ARM and Thumb instruction portability diagnostics 6.12 Instruction width diagnostics 6.13 Two pass assembler diagnostics 6.14 Conditional assembly 6.15 Using the C preprocessor 6.16 Address alignment 6.17 Instruction width selection in Thumb 7 Symbols, Literals, Expressions, and Operators 7.1 Symbol naming rules 7.2 Variables 7.3 Numeric constants 7.4 Assembly time substitution of variables 7.5 Register-relative and PC-relative expressions 7.6 Labels 7.7 Labels for PC-relative addresses 7.8 Labels for register-relative addresses 7.9 Labels for absolute addresses 7.10 Numeric local labels 7.11 Syntax of numeric local labels 7.12 String expressions 7.13 String literals 7.14 Numeric expressions 7.15 Syntax of numeric literals 7.16 Syntax of floating-point literals 7.17 Logical expressions 7.18 Logical literals 7.19 Unary operators 7.20 Binary operators 7.21 Multiplicative operators 7.22 String manipulation operators 7.23 Shift operators 7.24 Addition, subtraction, and logical operators 7.25 Relational operators 7.26 Boolean operators 7.27 Operator precedence 7.28 Difference between operator precedence in assembly language and C 8 VFP Programming 8.1 Architecture support for VFP 8.2 Half-precision extension for VFP 8.3 Fused Multiply-Add extension for VFP 8.4 Extension register bank mapping in VFP 8.5 VFP views of the extension register bank 8.6 Load values to VFP registers 8.7 Conditional execution of VFP instructions 8.8 Floating-point exceptions in VFP 8.9 VFP data types 8.10 Extended notation extension for VFP 8.11 VFP system registers 8.12 Flush-to-zero mode 8.13 When to use flush-to-zero mode in VFP 8.14 The effects of using flush-to-zero mode in VFP 8.15 VFP operations not affected by flush-to-zero mode 8.16 VFP vector mode 8.17 Vectors in the VFP extension register bank 8.18 VFP vector wrap-around 8.19 VFP vector stride 8.20 Restriction on vector length 8.21 Control of scalar, vector, and mixed operations 8.22 Overview of VFP directives and vector notation 8.23 Pre-UAL VFP syntax and mnemonics 8.24 Vector notation 8.25 VFPASSERT SCALAR 8.26 VFPASSERT VECTOR 9 Assembler Command-line Options 9.1 --16 9.2 --32 9.3 --apcs=qualifier…qualifier 9.4 --arm 9.5 --arm_only 9.6 --bi 9.7 --bigend 9.8 --brief_diagnostics, --no_brief_diagnostics 9.9 --checkreglist 9.10 --compatible=name 9.11 --cpreproc 9.12 --cpreproc_opts=option[,option,…] 9.13 --cpu=list 9.14 --cpu=name 9.15 --debug 9.16 --depend=dependfile 9.17 --depend_format=string 9.18 --diag_error=tag[,tag,…] 9.19 --diag_remark=tag[,tag,…] 9.20 --diag_style={arm|ide|gnu} 9.21 --diag_suppress=tag[,tag,…] 9.22 --diag_warning=tag[,tag,…] 9.23 --dllexport_all 9.24 --dwarf2 9.25 --dwarf3 9.26 --errors=errorfile 9.27 --execstack, --no_execstack 9.28 --execute_only 9.29 --exceptions, --no_exceptions 9.30 --exceptions_unwind, --no_exceptions_unwind 9.31 --fpmode=model 9.32 --fpu=list 9.33 --fpu=name 9.34 -g 9.35 --help 9.36 -idir[,dir, …] 9.37 --keep 9.38 --length=n 9.39 --li 9.40 --library_type=lib 9.41 --liclinger=seconds 9.42 --licretry 9.43 --list=file 9.44 --list= 9.45 --littleend 9.46 -m 9.47 --maxcache=n 9.48 --md 9.49 --no_code_gen 9.50 --no_esc 9.51 --no_hide_all 9.52 --no_regs 9.53 --no_terse 9.54 --no_warn 9.55 -o filename 9.56 --pd 9.57 --predefine "directive" 9.58 --reduce_paths, --no_reduce_paths 9.59 --regnames 9.60 --report-if-not-wysiwyg 9.61 --show_cmdline 9.62 --split_ldm 9.63 --thumb 9.64 --thumbx 9.65 --unaligned_access, --no_unaligned_access 9.66 --unsafe 9.67 --untyped_local_labels 9.68 --version_number 9.69 --via=filename 9.70 --vsn 9.71 --width=n 9.72 --xref 10 ARM and Thumb Instructions 10.1 ARM and Thumb instruction summary 10.2 Instruction width specifiers 10.3 Flexible second operand (Operand2) 10.4 Syntax of Operand2 as a constant 10.5 Syntax of Operand2 as a register with optional shift 10.6 Shift operations 10.7 Saturating instructions 10.8 Condition code suffixes 10.9 ADC 10.10 ADD 10.11 ADR (PC-relative) 10.12 ADR (register-relative) 10.13 ADRL pseudo-instruction 10.14 AND 10.15 ASR 10.16 B 10.17 BFC 10.18 BFI 10.19 BIC 10.20 BKPT 10.21 BL 10.22 BLX 10.23 BX 10.24 BXJ 10.25 CBZ and CBNZ 10.26 CDP and CDP2 10.27 CLREX 10.28 CLZ 10.29 CMP and CMN 10.30 CPS 10.31 CPY pseudo-instruction 10.32 DBG 10.33 DMB 10.34 DSB 10.35 EOR 10.36 ERET 10.37 HVC 10.38 ISB 10.39 IT 10.40 LDC and LDC2 10.41 LDM 10.42 LDR (immediate offset) 10.43 LDR (PC-relative) 10.44 LDR (register offset) 10.45 LDR (register-relative) 10.46 LDR pseudo-instruction 10.47 LDR, unprivileged 10.48 LDREX 10.49 LSL 10.50 LSR 10.51 MCR and MCR2 10.52 MCRR and MCRR2 10.53 MLA 10.54 MLS 10.55 MOV 10.56 MOV32 pseudo-instruction 10.57 MOVT 10.58 MRC and MRC2 10.59 MRRC and MRRC2 10.60 MRS (PSR to general-purpose register) 10.61 MRS (system coprocessor register to ARM register) 10.62 MSR (ARM register to system coprocessor register) 10.63 MSR (general-purpose register to PSR) 10.64 MUL 10.65 MVN 10.66 NEG pseudo-instruction 10.67 NOP 10.68 ORN (Thumb only) 10.69 ORR 10.70 PKHBT and PKHTB 10.71 PLD and PLI 10.72 POP 10.73 PUSH 10.74 QADD 10.75 QADD8 10.76 QADD16 10.77 QASX 10.78 QDADD 10.79 QDSUB 10.80 QSAX 10.81 QSUB 10.82 QSUB8 10.83 QSUB16 10.84 RBIT 10.85 REV 10.86 REV16 10.87 REVSH 10.88 RFE 10.89 ROR 10.90 RRX 10.91 RSB 10.92 RSC 10.93 SADD8 10.94 SADD16 10.95 SASX 10.96 SBC 10.97 SBFX 10.98 SDIV 10.99 SEL 10.100 SETEND 10.101 SEV 10.102 SHADD8 10.103 SHADD16 10.104 SHASX 10.105 SHSAX 10.106 SHSUB8 10.107 SHSUB16 10.108 SMC 10.109 SMLAxy 10.110 SMLAD 10.111 SMLAL 10.112 SMLALD 10.113 SMLALxy 10.114 SMLAWy 10.115 SMLSD 10.116 SMLSLD 10.117 SMMLA 10.118 SMMLS 10.119 SMMUL 10.120 SMUAD 10.121 SMULxy 10.122 SMULL 10.123 SMULWy 10.124 SMUSD 10.125 SRS 10.126 SSAT 10.127 SSAT16 10.128 SSAX 10.129 SSUB8 10.130 SSUB16 10.131 STC and STC2 10.132 STM 10.133 STR (immediate offset) 10.134 STR (register offset) 10.135 STR, unprivileged 10.136 STREX 10.137 SUB 10.138 SUBS pc, lr 10.139 SVC 10.140 SWP and SWPB 10.141 SXTAB 10.142 SXTAB16 10.143 SXTAH 10.144 SXTB 10.145 SXTB16 10.146 SXTH 10.147 SYS 10.148 TBB and TBH 10.149 TEQ 10.150 TST 10.151 UADD8 10.152 UADD16 10.153 UASX 10.154 UBFX 10.155 UDIV 10.156 UHADD8 10.157 UHADD16 10.158 UHASX 10.159 UHSAX 10.160 UHSUB8 10.161 UHSUB16 10.162 UMAAL 10.163 UMLAL 10.164 UMULL 10.165 UND pseudo-instruction 10.166 UQADD8 10.167 UQADD16 10.168 UQASX 10.169 UQSAX 10.170 UQSUB8 10.171 UQSUB16 10.172 USAD8 10.173 USADA8 10.174 USAT 10.175 USAT16 10.176 USAX 10.177 USUB8 10.178 USUB16 10.179 UXTAB 10.180 UXTAB16 10.181 UXTAH 10.182 UXTB 10.183 UXTB16 10.184 UXTH 10.185 WFE 10.186 WFI 10.187 YIELD 11 VFP Instructions 11.1 Summary of VFP instructions 11.2 VABS (floating-point) 11.3 VADD (floating-point) 11.4 VCMP, VCMPE 11.5 VCVT (between single-precision and double-precision) 11.6 VCVT (between floating-point and integer) 11.7 VCVT (between floating-point and fixed-point) 11.8 VCVTB, VCVTT (half-precision extension) 11.9 VDIV 11.10 VFMA, VFMS, VFNMA, VFNMS (floating-point) 11.11 VLDM (floating-point) 11.12 VLDR (floating-point) 11.13 VLDR (post-increment and pre-decrement, floating-point) 11.14 VLDR pseudo-instruction 11.15 VMLA (floating-point) 11.16 VMLS (floating-point) 11.17 VMOV (floating-point) 11.18 VMOV (between one ARM register and single precision VFP) 11.19 VMOV (between two ARM registers and one or two extension registers) 11.20 VMOV (between an ARM register and half a double precision VFP register) 11.21 VMRS 11.22 VMSR 11.23 VMUL (floating-point) 11.24 VNEG (floating-point) 11.25 VNMLA (floating-point) 11.26 VNMLS (floating-point) 11.27 VNMUL (floating-point) 11.28 VPOP (floating-point) 11.29 VPUSH (floating-point) 11.30 VSQRT 11.31 VSTM (floating-point) 11.32 VSTR (floating-point) 11.33 VSTR (post-increment and pre-decrement, floating-point) 11.34 VSUB (floating-point) 12 Directives Reference 12.1 Alphabetical list of directives 12.2 About assembly control directives 12.3 About frame directives 12.4 ALIAS 12.5 ALIGN 12.6 AREA 12.7 ARM or CODE32 12.8 ASSERT 12.9 ATTR 12.10 CN 12.11 CODE16 12.12 COMMON 12.13 CP 12.14 DATA 12.15 DCB 12.16 DCD and DCDU 12.17 DCDO 12.18 DCFD and DCFDU 12.19 DCFS and DCFSU 12.20 DCI 12.21 DCQ and DCQU 12.22 DCW and DCWU 12.23 DN and SN 12.24 END 12.25 ENDFUNC or ENDP 12.26 ENTRY 12.27 EQU 12.28 EXPORT or GLOBAL 12.29 EXPORTAS 12.30 FIELD 12.31 FRAME ADDRESS 12.32 FRAME POP 12.33 FRAME PUSH 12.34 FRAME REGISTER 12.35 FRAME RESTORE 12.36 FRAME RETURN ADDRESS 12.37 FRAME SAVE 12.38 FRAME STATE REMEMBER 12.39 FRAME STATE RESTORE 12.40 FRAME UNWIND ON 12.41 FRAME UNWIND OFF 12.42 FUNCTION or PROC 12.43 GBLA, GBLL, and GBLS 12.44 GET or INCLUDE 12.45 IF, ELSE, ENDIF, and ELIF 12.46 IMPORT and EXTERN 12.47 INCBIN 12.48 INFO 12.49 KEEP 12.50 LCLA, LCLL, and LCLS 12.51 LTORG 12.52 MACRO and MEND 12.53 MAP 12.54 MEXIT 12.55 NOFP 12.56 OPT 12.57 RELOC 12.58 REQUIRE 12.59 REQUIRE8 and PRESERVE8 12.60 RLIST 12.61 RN 12.62 ROUT 12.63 SETA, SETL, and SETS 12.64 SPACE or FILL 12.65 THUMB 12.66 THUMBX 12.67 TTL and SUBT 12.68 WHILE and WEND 13 Via File Syntax 13.1 Overview of via files 13.2 Via file syntax rules List of Figures 2-1 Organization of general-purpose registers and Program Status Registers 8-1 VFP extension register bank 8-2 VFPv2 register banks 8-3 VFPv3 register banks 10-1 ASR #3 10-2 LSR #3 10-3 LSL #3 10-4 ROR #3 10-5 RRX List of Tables 2-1 ARM processor modes 2-2 Predeclared core registers 2-3 Predeclared extension registers 2-4 Predeclared coprocessor registers 2-5 Instruction groups 4-1 ARM state immediate values (8-bit) 4-2 ARM state immediate values in MOV instructions 4-3 32-bit Thumb immediate values 4-4 32-bit Thumb immediate values in MOV instructions 4-5 Stack-oriented suffixes and equivalent addressing mode suffixes 4-6 Suffixes for load and store multiple instructions 4-7 Changes from earlier ARM assembly language 4-8 Relaxation of requirements 4-9 Differences between pre-UAL Thumb syntax and UAL syntax 5-1 Condition code suffixes and related flags 5-2 Condition codes 5-3 Conditional branches only 5-4 All instructions conditional 6-1 Built-in variables 6-2 Built-in Boolean constants 6-3 Predefined macros 6-4 {TARGET_ARCH_ARM} in relation to {TARGET_ARCH_THUMB} 6-5 Command-line options 6-6 armcc equivalent command-line options 7-1 Unary operators that return strings 7-2 Unary operators that return numeric or logical values 7-3 Multiplicative operators 7-4 String manipulation operators 7-5 Shift operators 7-6 Addition, subtraction, and logical operators 7-7 Relational operators 7-8 Boolean operators 7-9 Operator precedence in ARM assembly language 7-10 Operator precedence in C 8-1 VFP data type specifiers 8-2 Pre-UAL VFP mnemonics 8-3 Floating-point values for use with FCONST 9-1 Compatible processor or architecture combinations 9-2 Severity of diagnostic messages 9-3 Specifying a command-line option and an AREA directive for GNU-stack sections 10-1 Summary of ARM and Thumb instructions 10-2 Condition code suffixes 10-3 PC-relative offsets 10-4 Register-relative offsets 10-5 B instruction availability and range 10-6 BL instruction availability and range 10-7 BLX instruction availability and range 10-8 BX instruction availability and range 10-9 BXJ instruction availability and range 10-10 Offsets and architectures, LDR, word, halfword, and byte 10-11 PC-relative offsets 10-12 Options and architectures, LDR (register offsets) 10-13 Register-relative offsets 10-14 Offsets and architectures, LDR (User mode) 10-15 Offsets and architectures, STR, word, halfword, and byte 10-16 Options and architectures, STR (register offsets) 10-17 Offsets and architectures, STR (User mode) 10-18 Range and encoding of expr 11-1 Summary of VFP instructions 12-1 List of directives 12-2 OPT directive settings
********************************************************************** Author: TMS Software Copyright ?1996-2014 E-mail: info@tmssoftware.com Web: http://www.tmssoftware.com ********************************************************************** TMS Pack for FireMonkey TMS Pack for FireMonkey contains components for use in user interfaces designed with the Embarcadero FireMonkey framework. The components have been designed from the ground up based on the core concepts of the FireMonkey framework: made up of styles, fully cross-platform, scalable and compatible with FireMonkey抯 effects, rotation, livebindings. Release 2.3.0.1: ----------------- Highly styleable cross-platform FireMonkey controls Support for Windows 32 bit, 64 bit, Mac OS X, iOS and Android Support for HTML formatted text, including hyperlinks in various parts of the components Built-in support for LiveBindings in TTMSFMXTableView and TTMSFMXTileList, allows to bind any item element to data Includes various demos and an extensive PDF developers guide Includes various helper controls (badge, button and html enabled text controls) that can be used separately as well Includes several Sample applications for the TTMSFMXGrid component History : --------- v1.0 : first release v1.0.0.1 Fixed : Issue with setting the focus on the form (Can be activated / deactivated with ShowActivated property) in TTMSFMXPopup Fixed : Issue with BitmapContainer assignment V1.1.0.0 New : Introducing TTMSFMXSpeedButton New : Introducing TTMSFMXHotSpotImage with separate editor Improved : TMSIOS Define Fixed : Issue with initial state when State is ssOn in TTMSFMXSlider Fixed : Issue with Opacity in HTML Drawing in TTMSFMXHTMLText v1.1.0.1 Fixed : Issue with parent in TTMSFMXPopup v1.1.0.2 Fixed : Issue with lfm file missing in package v1.1.0.3 New : Support for update 4 hotfix 1 Fixed : Issue with order of freeing objects in TTMSFMXTableView v1.1.0.4 Fixed : Issue with state changing with mouse out of bounds in TTMSFMXSlider Fixed : Issue with resizing detail view in TTMSFMXTableView v1.5.0.0 New : Components TTMSFMXGrid, TTMSFMXNavBar, TTMSFMXEdit and TTMSFMXEditBtn, TTMSFMXProgressBar New : Helper components: TTMSFMXGridPrintPreview, TTMSFMXFindDialog, TTMSFMXReplaceDialog, TTMSFMXExcelIO, TTMSFMXRTFIO. Improved : Performance for handling hover & click of hotspots in TTMSFMXHotSpotImage Fixed : Issue with mouse capturing in TTMSFMXTableView Fixed : Issue with alignment and resizing of detail view container when item has no detail view assigned in TTMSFMXTableview v1.6.0.0 New : XE3 Support New : OnSearchOpen / OnSearchClose called when swiping done or showing the filter with the ShowFilter property in TMSFMXTableView New : OnCanColumnDrag, OnCanRowDrag events added in TTMSFMXGrid New : OnColumnDragged, OnRowDragged events added in TTMSFMXGrid New : LiveBindings support in TTMSFMXGrid Fixed : Issue with Options.Mouse.ColumnDragging = false / Options.Mouse.RowDragging = false in TTMSFMXGrid Fixed : Issue with OnCanInsertRow/OnCanDeleteRow triggering in TTMSFMXGrid Fixed : Issue with selection on top when dragging in touch mode in TTMSFMXGrid Fixed : Access violation when touching outside the grid in touch mode in TTMSFMXGrid Fixed : Enabling touch mode in none selection mode in TTMSFMXGrid Fixed : Issue with OnClick / OnDblClick in instrumentation components Fixed : Issue with scrolling and selecting value in iOS in TTMSFMXSpinner Fixed : Issue with escape key not cancelling edit mode in TTMSFMXGrid v1.6.0.1 Fixed : Issue with double databinding registration in XE2 ios package v1.7.0.0 : New : added components TTMSFMXCalendar and TTMSFMXCalendarPicker New : Fixed cell single and range selection in TTMSFMXGrid New : Autosizing columns / rows on double-click in TTMSFMXGrid New : Column persistence in TTMSFMXGrid Improved : Data reset when toggling active in TTMSFMXScope Fixed : Issue with checkbox and radiobutton not rendering correctly on iOS project in TTMSFMXGrid Fixed : Issue with accessing and adding progressbar cells in TTMSFMXGrid Fixed : Repaint bug in XE3 in TTMSFMXTileList Fixed : ShowGroupGount implement in TTMSFMXGrid Fixed : GroupCountFormat implemented in TTMSFMXGrid Fixed : Issue with memoryleak in TTMSFMXLedBar Fixed : Access violation when clicking edit button in TTMSFMXTableView Fixed : Issue with OnDblClick not triggered in TTMSFMXTableView Fixed : Issue with popupmenu on background interfering with scrolling interaction in TTMSFMXTableView Fixed : Issue with selection persistence of items when scrolling in TTMSFMXTableView Fixed : Access violation Loading footer at designtime in TTMSFMXPanel v1.7.5.0 New: Capability to export multiple grids to a single RTF file in TTMSFMXGridRtfIO New : Options.Filtering.MultiColumn added to perform automatic multicolumn filtering in TTMSFMXGrid Fixed : Issue with Delphi XE3 compatibility in TTMSFMXCalendar Fixed : Issue with ApplyPlacement for plTop/plTopCenter in TTMSFMXPopup Fixed : Issue with sorting & filtering in TTMSFMXGrid Fixed : Issue with InsertRow on non-initialized grid in TTMSFMXGrid Fixed : Issue with XE3 Mac filtering in TTMSFMXGrid v1.7.5.1 Fixed : Issue with anchor detection when scrolling in TTMSFMXGrid Fixed : Issue with ccCount column calc in TTMSFMXGrid v1.7.5.2 New : Exposed functions CancelEdit / StopEdit in TTMSFMXGrid Fixed : Issue with text initialization in constructor in TTMSFMXGrid Fixed : Issue with default values for ArrowHeight and ArrowWidth in TTMSFMXPopup Fixed : Issue with focusing calendar in TTMSFMXCalendar Fixed : Issue with lookuplist in TTMSFMXEdit in XE3 Fixed : Issue with absoluteopacity in TTMSFMXLED v1.8.0.0 New : PDF Export component for Windows (QuickPDF), Mac and iOS v1.8.0.1 Fixed : Issue with absolute opacity in TTMSFMXBitmap Fixed : Issue with editing cell functionality while selecting all cells in TTMSFMXGrid v1.8.0.2 Fixed : Issue with peristing column states Fixed : Issue with printing DPI on different real and virtual printers v1.8.0.3 Fixed : Issue with dblclick in TTMSFMXGrid Fixed : Issue with dropdown window visible after editing in TTMSFMXGrid Fixed : Issue with wordwrapping and strikeout font style in html engine v1.8.0.4 : Fixed : Issue with debug message in TTMSFMXGrid v1.8.0.5 Fixed : Issue with dblclick focusing issue in TTMSFMXGrid Improved : comment popup in cell configurable in TTMSFMXGridCell v1.8.0.6 Improved : PDF Export engine v1.8.0.7 Package build options change v1.8.0.8 Fixed : Issue with text repainting at runtime in TTMSFMXHTMLText Fixed : Issue with text fill color initialization in TTMSFMXHTMLText Fixed : Repaint bug in XE3 in drag/drop tiles in TTMSFMXTileList Fixed : Issue with memoryleak when reparenting items in TTMSFMXTableView Fixed : Issue with hidden radio button checked property in TTMSFMXGrid v1.8.1.0 Fixed : Issue with clipboard on empty grid in TTMSFMXGrid New : Event OnTopLeftChanged event v1.8.1.1 Improved : block refreshing columns when destroying the component in TTMSFMXSpinner Fixed : Small issue in HTML Rendering engine for anchor rendering in TTMSFMXHTMLEngine Fixed : Issue with hidecolumn in TTMSFMXGrid v1.8.1.2 Issue with C++Builder OSX library paths not updated when installing v1.8.1.3 Issue compilation in FPC with TMSPlatforms constant v1.8.1.4 Improved : Added Event OnCellEditCancel in TTMSFMXGrid Improved : OnTileAnchorClick event exposed in TTMSFMXTileList Improved : Escape key handling in TTMSFMXCalendarPicker to cancel date selection Fixed : Issue with TMSFMXEdit signed float Fixed : Issue with dblclick in TTMSFMXEdit Fixed : Issue with dropdown access violation in TTMSFMXEdit Fixed : Access violation in TTMSFMXPopup v2.0.0.0 New : Syntax highlighting and editing component TTMSFMXMemo New : Persisted Columns collection in TTMSFMXGrid New : KeyBoard and Mouse Wheel handling support in TTMSFMXSpinner Improved : Escape to cancel date selection and return to previous selected date in TTMSFMXCalendar Fixed: Issue with autosizing and client-aligned captions v2.0.1.0 New : Pointer direction property in TTMSFMXBarButton Fixed : Issue with repainting header and footer text in TTMSFMXTableView Fixed : Selection changed notification to observer in TTMSFMXTableView Fixed : Issue with list read access in TTMSFMXNavBar Fixed : incorrect Gutter behavior when gutter is visible false or width = 0 in TTMSFMXMemo Fixed : Issue with XE2 FMI package memo registration v2.0.1.1 Fixed : Issue with height of tabs in TTMSFMXNavBar v2.0.2.0 New : OnButtonClick event in TTMSFMXEditBtn Fixed : Issue with fixed cell property persistence in TTMSFMXGrid Fixed : Issue with Excel font color import in TTMSFMXGrid Fixed : Issue with border width in new columns persistence collection in TTMSFMXGrid Fixed : Issue with bitmap assignment in TTMSFMXTableView Fixed : Issue with clearing cells in TTMSFMXGrid v2.0.2.1 Fixed : Issue with anchors & readonly cells in TTMSFMXGrid Fixed : Issue with handling Columns[x].ReadOnly Improved : Published events for Find and Replaced dialog in TTMSFMXMemo v2.1.0.0 New : XE4 support Fixed : Issue with memory leak in TTMSFMXGrid Fixed : Issue with triggering OnCursorChange in TTMSFMXMemo Fixed : Issue with UpdateMemo call when client-aligning Fixed : Issue with index out of bounds in empty grid connected to dataset v2.1.0.1 Improved : NextPage and PreviousPage methods in TTMSFMXGrid Fixed : Issue compiling demo's in trial version Fixed : Issue with LoadFromFile column widths in TTMSFMXGrid v2.1.0.2 Improved : GetTextHeight function in TTMSFMXHTMLText Fixed : Issue with iOS cell objects not being freed in TTMSFMXGrid Fixed : Issue with Scrolling when scrollbars are not visible in TTMSFMXGrid Fixed : Issue with readonly cells when using columns in TTMSFMXGrid Fixed : Issue accessing correct cell colors in TTMSFMXGrid Fixed : Issue with displaying DetailView in TTMSFMXTableView v2.1.0.3 Improved : Added Fixed Disjunct Row and Column Selection in TTMSFMXGrid Fixed : Issue with LiveBindings editing and row selection in TTMSFMXGrid Fixed : Replacement for TScrollBox issues at designtime / runtime. Fixed : Issue with Form Key handling in TTMSFMXEdit Fixed : Issue with designtime initialization of caption in TTMSFMXPanel Fixed : Issue with autocompletion popup in TTMSFMXMemo Fixed : Issue with font persistence in TTMSFMXMemo Fixed : Issue with ShowImage in TTMSFMXBarButton Fixed : Issue on iOS with categories in TTMSFMXTableView v2.1.0.4 Fixed : Issue with grid editing / inserting in LiveBindings in TTMSFMXGrid v2.1.0.5 Fixed : Memory leak with panel list in TTMSFMXNavBar Fixed : Access violation in TTMSFMXMemo v2.1.1.0 New : VisibleRowCount and VisibleColumnCount functionality in TTMSFMXGrid Fixed : Issue with disjunct selection and sorting in TTMSFMXGrid v2.1.1.2 New : LiveBinding support for Notes in TTMSFMXTileList v2.1.1.3 New : Published Anchors property Fixed : Issue inserting and deleting records in LiveBindings in TTMSFMXGrid v2.1.1.4 Fixed : Issue with RadioButtons in TTMSFMXGrid Fixed : Issue with Text position and width in TTMSFMXRotarySwitch v2.1.1.5 Fixed : Issue with rtf exporting on iOS in TTMSFMXGrid Fixed : Issue with ColumnStatesToString and column swapping in TTMSFMXGrid Fixed : Issue with lookup list on Mac in TTMSFMXEdit v2.1.1.6 Fixed : Issue with assign procedure collection item in TTMSFMXTableView Fixed : Issue with TTMSFMXPopup component on the form already exists v2.1.1.7 Improved: Assign() handling in TTMSFMXTableView Improved : conditionally use XOpenURL or XOpenFile for cell anchors in TTMSFMXGrid Fixed : Issue with Padding vs Margins in TTMSFMXPageSlider Fixed : Issue with comment resizing in TTMSFMXGrid Fixed : Issue with TableView resizing in TTMSFMXTableView Fixed : issue with column alignment settings for cell states different from normal in TTMSFMXGrid Fixed: Do not set TopMost = true in GetStyleObject, interferes with use on a popup in TTMSFMXEdit Fixed : Issue with initialization years in popup picker in TTMSFMXCalendarPicker Fixed : issue with setting Collaps = true at design time in TTMSFMXPanel Fixed : Issue with pressing ESC when date is empty in TTMSFMXCalendarPicker v2.2.0.0 New : XE5 support New : Android support New : Width and Height properties on lookup list in TTMSFMXEdit New : Redesign of TTMSFMXPopup to support iOS / Android Fixed : Issue with lookup autosize calculation in TTMSFMXEdit Fixed : Hints in TTMSFMXHTMLText and TTMSFMXBitmap Fixed : Issue with OnColumnSorted event not triggered in TTMSFMXGrid v2.2.0.1 Fixed : Issue with deleting rows in TTMSFMXGrid Fixed : Issue with date parsing in TTMSFMXCalendar Fixed : CSV parsing on iOS / Android in TTMSFMXGrid v2.2.1.0 New : OnMonthChanged and OnYearChanged events in TTMSFMXCalendar Fixed : Issue with money editing in TTMSFMXGrid v2.2.1.1 Fixed : Issue with disposing objects on iOS in TTMSFMXGrid Fixed : Issue with items return with incorrect CategoryID in TTMSFMXTableView v2.2.1.2 Fixed : Issue with column moving & column sizes in TTMSFMXGrid Fixed : Issue with save to file & linebreaks on iOS / Android in TTMSFMXGrid Fixed : Issue with column, row dragging out of the grid boundaries in TTMSFMXGrid Fixed : Issue with resizing in TTMSFMXTableView v2.2.1.3 Fixed : Issue with scrollbox and applystyle empty text initialization in TTMSFMXEdit Fixed : Issue with string conversion on iOS / Android in TTMSFMXGrid Fixed : Issue with column, row dragging out of the grid boundaries in TTMSFMXGrid Fixed : Issue with Livebindings in TTMSFMXCalendarPicker v2.2.1.4 Fixed : Issue with badge in TTMSFMXTileList Fixed : Issue with row sorting and objects in TTMSFMXGrid v2.2.2.0 Improved : Disjunct deselection of column, rows and cells in TTMSFMXGrid Fixed : Issue with horizontal scrolling and text trimming in TTMSFMXMemo Fixed : Issue with displaylist on XE5 in TTMSFMXEdit Fixed : Issue with assignment of item an OnItemClick in TTMSFMXTableView Fixed : Floating point division by zero in TTMSFMXPopup Fixed : Issue with OnCellEditDone event and focus changes v2.2.2.1 Fixed: Issue with Keyboard handling for ComboBox editor type in TTMSFMXGrid v2.2.2.2 Fixed : Issue with saving hotspot images in TTMSFMXHotSpotImage Fixed : Issue with memo find & replace dialog up and down search in TTMSFMXMemo Fixed : Issue with naming for led elements in TTMSFMX7SegLed Fixed : Issue with mouse enter/leave in TTMSFMXCalendar Fixed : Issue with column hiding and memory leak in sorting data in TTMSFMXGrid v2.2.2.3 Fixed : Issue with column/row hiding combinations in TTMSFMXGrid Fixed : Issue with Escape key in TTMSFMXGrid v2.2.2.4 Fixed : Issues with column/row handling in TTMSFMXGrid Fixed : Issue with calculation setpoints, needles and sections with minimumvalue > 0 in TTMSFMXLinearGauge v2.2.2.5 Improved: Signed numeric not being handled in GetInt/SetInt in TTMSFMXEdit Fixed: Issue with unhiding row combinations in TTMSFMXGrid v2.2.2.6 Improved : OnFormatCellDataExpression in TTMSFMXGrid Fixed : Issue with selection initialization in TTMSFMXGrid Fixed : Issue with cell creation in xls export v2.2.2.7 Fixed : Issue with using semi opaque hover, selected, down color in TTMSHotSpotImage Fixed : Issue with row insertion in TTMSFMXGrid v2.2.2.8 Fixed : Issue with grouping / ungrouping and row / column insertion changes v2.2.2.9 Improved : Clearing grid offset in TTMSFMXScope Fixed : Issue with initializing grid with default no. columns in TTMSFMXGrid Fixed : Issue with adding data without animation in TTMSFMXScope v2.3.0.0 New : XE6 Support v2.3.0.1 Fixed : XE6 Style compatibility issues Usage: ------ Use of TMS software components in applications requires a license. A license can be obtained by registration. A single developer license registration is available as well as a site license. With the purchase of one single developer license, one developer in the company is entitled to: - use of registered version that contains full source code and no limitations - free updates for a full version cycle - free email priority support & access to support newsgroups - discounts to purchases of other products With a site license, multiple developers in the company are entitled to: - use of registered version that contains full source code and no limitations - add additional developers at any time who make use of the components - free updates for a full version cycle - free email priority support & access to support newsgroups - discounts to purchases of other products Online order information can be found at: http://www.tmssoftware.com/go/?orders Note: ----- The components are also part of the TMS Component Pack bundle, see http://www.tmssoftware.com/go/?tmspack Help, hints, tips, bug reports: ------------------------------- Send any questions/remarks/suggestions to : help@tmssoftware.com Before contacting support about a possible issue with the component you encounter, make sure that you are using the latest version of the component. If a problem persists with the latest version, provide information about which Delphi or C++Builder version you are using as well as the operating system and if possible, steps to reproduce the problem you encounter. That will guarantee the fastest turnaround times for your support case.

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧