怎样捕捉AV(Access violation)?

hexenzhou 2003-04-14 02:07:33
AV(Access violation)内存存取错误是经常会发生的事情,通常是使用了失效的指针,或是忘了回收分配的内存空间所引起的资源泄漏造成的。在运行期间产生的AV还好捕捉,至少大体上知道AV出现在什么地方。然而在退出程序时所引起的AV则最难捕捉。如果您也遇到了这样的情况,那么恭喜您,您遇到了和我一样的令人头痛的问题。
如果是第三方控件在退出程序时引起的AV,而这种AV又不是经常会发生,只是偶尔发生,那么又该怎么办了呢?我的应用程序使用了好多第三方控件,当然如果知道是哪个控件引起了AV,我最多不使用这个控件,问题的关键是我不知道是哪个控件引起了AV,总不能把第三方控件一梆子打死,全部不使用吧?

通常在运行期产生的AV,delphi会跳出对话框,其中会有一个“View CPU”的选项,通过查看CPU窗口,大体知道AV出现在什么地方。而退出程序所引起的AV,则不会有“View CPU”的选项,通常这个对话框是操作系统产生,不是Delphi调试环境产生的,比如这个AV对话款“Exception EAcessViolation in module Project1.exe at
00027564,access violation at adress 00427564 in module 'Project1.exe' write of Adress 001470785”。
请问各位是否有调试这类AV的高招,望不啬赐教,在下不深感激。
...全文
91 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
microjuz 2003-05-16
  • 打赏
  • 举报
回复
不是不关注,是说不上来,多线程的东东还不是很明白:)
hexenzhou 2003-05-03
  • 打赏
  • 举报
回复
怎么没人关注.......失望..........
hexenzhou 2003-04-16
  • 打赏
  • 举报
回复
有谁用过TurboPower 的Memory Sleuth 3?我手里有,但是不知道怎么用。我想借助一些捕捉资源泄漏的工具,听说还有内存清道夫,不知各位是否有用过?
luckyboy97 2003-04-15
  • 打赏
  • 举报
回复
关注
rustle 2003-04-15
  • 打赏
  • 举报
回复
搞大了,关注...
hexenzhou 2003-04-15
  • 打赏
  • 举报
回复
我猜想之所以不能捕捉是因为主线程已经结束,而附属线程还没有结束,它可能有时是来不及结束,附属线程访问了主线程的资源才造成的这个AV,因此在主程序加异常处理代码没法捕捉,因为主线程已经结束了。
hexenzhou 2003-04-15
  • 打赏
  • 举报
回复
To rustle:我以前也有这么试过,但是无效,这个AV不是Delphi的异常处理所能捕捉的,它好像是操作系统产生的,以前试了在项目的dpr文件加上异常处理代码,但也是无效。
看来这个AV的确非常麻烦。
rustle 2003-04-14
  • 打赏
  • 举报
回复
实在捕捉不了的时候这么干

OnApplicationException

if E is EAccessViolation then exit else Application.ShowException(E);

在程序发布的时候很有用的
gototop99 2003-04-14
  • 打赏
  • 举报
回复
那么就

sleep

一会,

然后在关闭,test。。。。。
hexenzhou 2003-04-14
  • 打赏
  • 举报
回复
TStrings是抽象虚拟类,不能直接创建TStrings的实例,只能创建它的派生类,一般的控件都会产生TStrings的派生类以实现自己的字符串容器,比如很多控件的Items属性。
hexenzhou 2003-04-14
  • 打赏
  • 举报
回复
to FrameSniper:我清除了我写的所有程序代码,只保留添加控件时自动产生的代码,在程序退出时有时会产生AV,但在运行时不会产生,可以肯定是退出程序时产生的。
我现在不大有效的调试手段是:记录下AV发生的地址,比如上面那个AV的地址为:00427564
在程序运行时,按ctrl + Alt + C调出CPU窗口,接着在CPU窗口按右键选择go to adress,在输入框输入上述地址为:00427564,在该地址处打上断点跟踪,只能跟踪到在执行TString.SetValue时产生了AV,但是我不知道是哪个控件在退出时调用了它。
FrameSniper 2003-04-14
  • 打赏
  • 举报
回复
直接在程序快结束的地方设置断点,然后进入CPU窗口用单步跟踪不可以吗?

你怎么知道你的AV是在程序结束后产生的????
hexenzhou 2003-04-14
  • 打赏
  • 举报
回复
Moj(Delphi fan) :难得遇到同病相怜者,本人深受这种AV之苦,但又无可奈何。
lvloj 2003-04-14
  • 打赏
  • 举报
回复
hexenzhou (甲骨文) : 同苦!
rwdx(任我独行之浪迹天涯) :单步跟踪不行啊,问题是程序闭时随机出现,而几率不高,但又不是非常低.(我能接受,但用户可能不能).跟踪时又不出现.
hexenzhou 2003-04-14
  • 打赏
  • 举报
回复
由于第三方控件使用了多线程技术,这些控件在退出程序时引起的AV,我想可能和线程同步有关。但我不知道是那些控件产生了线程,只能通过Debug windows下Threads查看线程Id,总共有8个线程,除了主线程外,其余的线程不知道是那些控件产生的。而且这种AV有极大的不确定性,只是偶尔会发生。
rwdx 2003-04-14
  • 打赏
  • 举报
回复
单步跟踪
需要先安装Patch1。 Patch 2 for RAD Studio 10.4 now available This patch addresses a number of issues in RAD Studio 10.4, pertaining to Delphi Compiler, the RAD Studio IDE in general and the new LSP-based Code Insight in particular, plus C++ Builder Android exceptions and some debugger issues. The installation of this patch requires a prior installation of Patch #1 (separately available on GetIt and in the download portal). Installing this patch is recommended for all RAD Studio 10.4 customers. Note that this patch is fairly large to download (around 190 MB). The patch includes detailed installation instructions as part of the Readme. Please read the steps carefully (or the corresponding steps in this blog post), as the GetIt download does not install the patch automatically. You must follow the instructions in order to install. Just using GetIt is not enough. List of Customer Reported Issues Addressed in 10.4 Patch 2 RAD Studio 10.4 Patch #2 addresses the following issues reported by customer on Embarcadero Quality Portal (https://quality.embarcadero.com): RSP-29628 VCL Grids bug RSP-29560 [REGRESSION] Misalignment in TStringGrid, StretchDraw method in OnDrawCell RSP-29412 Compiler generates incorrect code for if-then RSP-29402 Delphi 10.4 TStringGrid.OnDrawCell bug RSP-29374 Wrong rect coords in TStringGridDrawCell, so image are drawn at wrong position RSP-29347 [DelphiLSP] IDE Crashes when view form as text is selected and running LSP server RSP-29310 Internal error L891 when linking because of complex types based on records with class var RSP-29299 CODEGEN bug in managed fields initialization, associated with new management operators. RSP-29271 [DelphiLSP] Code Insight adds unneeded () when changing procedures/functions RSP-29256 Compiler generates wrong code for template function RSP-29227 Incorrect property value obtained from the record RSP-29226 Access violation with working code under 10.2 RSP-29218 compiling static library under Android error E4620 processing resource .fmx -2 raised RSP-29172 Access Violation when opening License Manager RSP-29142 GoTo statements not working RSP-29136 Dialog constantly pops up during debugging RSP-29129 iOS App simply crashes with a TWebBrowser on it. RSP-29127 Compiler internal error if you ignore the result of a function that returns a generic record RSP-29124 ICE E1812 RSP-28989 License Manager has access violation error when i click on Workstation Licenses RSP-28887 Space does not finish code completion RSP-28857 Default(T) generates bad code for managed record RSP-28821 [Regression] TStringGrid.OnDrawCell parameter Rect contains wrong values RSP-28808 Project options dialog page "Delphi Compiler" is not populated when opening the dialog RSP-28796 RVO for M-records: initialisation of local variables RSP-28761 [REGRESSION] E2154 Type 'T' needs finalization - not allowed in variant record RSP-28737 Compiler error when inlining new Bit Counting Standard Functions RSP-28735 Managed Records Causing Internal Compiler Error RSP-28717 Delphi Package fails to compile RSP-28701 Bind visually on TDBGRID kills the IDE RSP-28669 [BadCG] Value M-record parameters: improper AddRefRecord RSP-28659 RVO for M-records: assignment to local variables RSP-28616 [BadCG] Operator Assign should not allow non-default calling conventions RSP-28615 [BadCG] In the absence of Initialize, finalisation is not guaranteed for local variables RSP-28552 Poor code generation for local managed record variables RSP-28499 Options - Translation tools - Font - Corrupted? RSP-28476 LSP ErrorInsight in Structure Pane only shows one keystroke after editor RSP-28400 [BadCG] Operator Assign is not always invoked for fields RSP-28372 [Regression] Bad codegen in function returning generic type RSP-27268 C++ Builder 10.3.3 Android Exceptions RSP-27251 Internal error when trying to inline with optimization on RSP-24079 Package version is broken RSP-23403 Build for linux 64 error RSP-23024 Record helper class constructor gives senseless compiler warning RSP-22318 Pointer type check missed when object field is a dynarray RSP-21554 Compiler generates incorrect code for parameterized record type RSP-21248 Const dynamic array unexpectedly contains uninitialized data RSP-20372 A generic "reference to function" will only match the first of several overloaded functions RSP-19714 Win32 compiler - Memory corruption with array helpers RSP-18241 *.c source files, added to C++ project, got added to DeploymentManager file list RSP-18148 AV in TList.Remove (64-bit compiler only)
Delphi 7.1 Update Release Notes=======================================================This file contains important supplemental and late-breakinginformation that may not appear in the main productdocumentation, and supersedes information contained in otherdocuments, including previously installed release notes.Borland recommends that you read this file in its entirety.NOTE: If you are updating a localized version of Delphi 7, visit the Borland Registered User web site to obtain a localized readme file that may contain important late- breaking information not included in this readme file.IMPORTANT: Delphi must be closed before installing this update. =====================================================CONTENTS * INSTALLING THIS UPDATE * UPDATING LOCALIZED VERSIONS OF DELPHI 7 * KNOWN ISSUES * ISSUES ADDRESSED BY THIS UPDATE - IDE - CORE DATABASE - DATASNAP - DBGO (ADO COMPONENTS) - dbExpress - dbExpress COMPONENTS AND DB VCL - dbExpress CORE DRIVER AND METADATA - dbExpress VENDOR ISSUES - dbExpress CERTIFICATION - WEB SNAP - ACTIVEX - COMPILER - RTL - VCL - THIRD PARTY - BOLD FOR DELPHI * VERIFYING THAT THE UPDATE WAS SUCCESSFUL * FILES INSTALLED BY THIS UPDATE =======================================================INSTALLING THIS UPDATE* This update can not be applied to Delphi 7 Architect Trial version. * This update can not be removed after it is installed.* You will need the original Delphi 7 installation CD available to install this update.* To install this update from the CD, insert the CD, and launch the d7_ent_upd1.exe file appropriate for your locale.* To install this update from the Web, double-click the self-executing installation file and follow the prompts. * The Delphi 7 documentation PDF files are available on the update CD.========================================================UPDATING LOCALIZED VERSIONS OF DELPHI 7* This update can be applied only to the English version of Delphi 7. There are separate updates for the German, French and Japanese ver
Borland Delphi 2005 Architect Update 3----------Report #: Short Description: Rating: Status12241 IntToHex returns lowercase letters0.00 of 5 Closed11881 TStringStream constructor for .NET sets Position incorrectly0.00 of 5 Closed11787 Access violation using Code Insight when editing the uses clause0.00 of 5 Closed11759 TList instance leaked in DBCommon.pas when using IN operator in Filter expression5.00 of 5 Closed11651 New EllipsisPosition property causes text to be invisible & process to hang5.00 of 5 Closed11471 Cannot manage StarTeam association since applying Update20.00 of 5 Closed11353 (strict) protected nested class become public3.67 of 5 Closed11314 Too much inlining yields unstable compiled code.0.00 of 5 Closed11266 Inline causes compile error : F2084 Internal Error SCR765.00 of 5 Closed11193 Inlined function affects working of the enclosing for loop0.00 of 5 Closed11184 [Fatal Error] F2084 Internal Error: ILLK26340.00 of 5 Closed11069 Compact the TApplication.ProcessMessage code fragment for Unicode handling5.00 of 5 Closed10918 TColorBox control custom color selection causes AV0.00 of 5 Closed10873 Internal error: URW 793 when using constant struct with enums2.00 of 5 Closed10861 Access Violation when compiling code with default index property0.00 of 5 Closed10772 Designer improperly handles controls tagged with [ToolboxItem]0.00 of 5 Closed10669 TWideStrings has no GetEnumerator method0.00 of 5 Closed10661 Switching between form and source view cause long delay4.67 of 5 Closed10567 Ability to create all VCL packages0.00 of 5 Closed10498 D2005: DataSet lots of methods missing in code completion0.00 of 5 Closed10450 The Ellipse is drawn over some of the caption text when a form is docked in IDE0.00 of 5 Closed10381 Constant array of procedural types crashes compiler5.00 of 5 Closed10376 The Delphi 2k5 IDE UpTime & project loading is very SLOW4.00 of 5 Closed10314 Error Insight fails to flag an error4.00 of 5 Closed10248 Alignment Palette in VCL form designer malfunctions5.00 of 5 Closed10190 List view selected item no longer selected5.00 of 5 Closed10009 Double-click in the Search Results window0.00 of 5 Closed9912 Press Enter on Component crashes Delphi 20050.00 of 5 Closed9847 Transactional Object Wizard Missing0.00 of 5 Closed9712 The XML documentation feature doesn't associate comments with the correct symbols5.00 of 5 Closed9690 "Cannot focus a disabled or invisible window" in IDE0.00 of 5 Closed9666 Code Completion doesn't show all available items when using overload5.00 of 5 Closed9639 Active Form wizard not available in Delphi 2005 but mentioned in online help5.00 of 5 Closed9634 IDE response too SLOW4.63 of 5 Closed9578 TXPManifest + TFrame + TLabel + TRadioGroup = bad5.00 of 5 Closed9477 Delphi .NET assembly references with strong names5.00 of 5 Closed9254 Incorrect reference public key token included into Delphi8 strong-named assembly metadata4.00 of 5 Closed9021 Memory Leak in TreeView0.00 of 5 Closed8866 Assigning long string values (greater than 8192 characters) to TStringFields results in access violation.5.00 of 5 Closed8785 Filter or Ranges on Nested Dataset's should restrict master as well.0.00 of 5 Closed8417 TCustomSQLDataSet.GetFieldData implementation0.00 of 5 Closed8229 Error in code when database doesn't support schema/owner names5.00 of 5 Closed8032 Show modified code in the scrollbar0.00 of 5 Closed8021 TIndexDef.Assign Doesn't copy DescFiels and CaseInsFields5.00 of 5 Closed8001 SQLDataset doesn't call .Close on dbExpress driver cursor when closing5.00 of 5 Closed7912 TCustomClientdataset: properties "IndexDefs" and "IndexName" should be public0.00 of 5 Closed7872 double exception in method TDataSetProvider.InternalGetRecords5.00 of 5 Closed7809 SetOptionalParam don't work0.00 of 5 Closed7768 An Easy Feature Request: TDataset.CopyFields4.00 of 5 Closed7290 Grid's functionality enhancement5.00 of 5 Closed7199 Class Completion erroneously adds fields to a complete class if the getter functions starts with F5.00 of 5 Closed7082 Add SSE3 / PNI instructions to the BASM5.00 of 5 Closed7005 New control request - TDBStaticText - Add possibility to have Edge Borders0.00 of 5 Closed6985 Add node for unit name in Find in Files results in Message Window0.00 of 5 Closed6803 WebToolBar problem with buttons0.00 of 5 Closed6558 AV in DBGrid when destroying DataSet0.00 of 5 Closed6428 Labels disappear with XPManifest5.00 of 5 Closed6368 Resolving lookup- & calculated fields to datafields4.00 of 5 Closed6238 DBNavigator and DBGrid compliant with Federal Section 5080.00 of 5 Closed6021 Labels not visible in Windows XP0.00 of 5 Closed5951 Internal error: SY5764.44 of 5 Closed5812 TComboBox.Focused method does not always return good results.1.00 of 5 Closed5803 Unable to delete component if code editor minimized in saved desktop5.00 of 5 Closed5763 Cannot debug datamodule containing many objects0.00 of 5 Closed5699 Apache shared modules do not work with Apache 2.0.4x5.00 of 5 Closed5592 New event OnValidate that is fired before applying updates2.00 of 5 Closed5336 fatal error: Internal Error: L6812.33 of 5 Closed5283 Cannot read complete compiler error message.0.00 of 5 Closed5280 MessageDlg returns mrNone instead of mrCancel when aborted5.00 of 5 Closed5248 Assert fails to break and leaves FPU invalid op exception set.4.50 of 5 Closed4627 Cannot assign -2147483648 into INTEGER Variable4.00 of 5 Closed4624 A way to set both Width and Height of TBitmap (speed reason)4.85 of 5 Closed4581 Field description and Label3.00 of 5 Closed4444 IncMilliSeconds...IncHour with DateTime<0 wrong0.00 of 5 Closed4343 Proposal of modification of the TDataSet.Post method in DB.pas unit1.00 of 5 Closed4184 Delphi DLL using sharemem called from VC++ exe AV on exit3.25 of 5 Closed4172 tFrames and XPMan hiding controls5.00 of 5 Closed3850 TGraphicControl descendants invisible in frames with XP Manifest4.60 of 5 Closed3792 TryEncodeDateTime not correct for dates before Dec. 30, 18995.00 of 5 Closed3776 Add full IDL support0.00 of 5 Closed3718 Automatic Required setting of TField not consistent with SQL3.71 of 5 Closed3542 Strange limits in property CommandText2.40 of 5 Closed2881 DBGrid doesn't repaint when Enabled changed.5.00 of 5 Closed2625 Impossible to open a .TLB into the TLB Editor if missing uses reference3.50 of 5 Closed2608 Compiler crashes, dcc70.dll Read of address 000000004.00 of 5 Closed2572 Unable to sort on columns in module view3.00 of 5 Closed2382 TListView doesn't update correctly in OwnerData mode.4.00 of 5 Closed2276 'deprecated' warning appears when it shouldn't4.31 of 5 Closed2258 Failure to parse/compile integer constant --2147483648 and lower4.86 of 5 Closed2236 Delphi converts Text DFM's to binary with these steps4.71 of 5 Closed1685 Compiler error message refers to HIGH when it should be LOW3.43 of 5 Closed1455 GetRange method3.38 of 5 Closed1209 Context help does not work for TComboboxEx3.67 of 5 Closed1177 ResourceString limitation of 1024 characters3.89 of 5 Closed(出处:www.borland.com)
//// TICQClient Version 1.18f// (C) Alex Demchenko(alex@ritlabs.com)// http://www.cobans.net////-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=[ Legend: ][ + Added feature ][ * Improved/changed feature ][ - Bug fixed (I hope) ]16-September-2002, Version 1.18f (fix release)[+] Added .manifest file in Example project for better WinXP GUI compatability[-] Fixed SMS reply receiving (Thx! to Nick Anikin)[-] Fixed OnConnectionRefused event, it wasn‘t called when connection with ICQ server was lost (Thx! to Mironov Serghei)[-] Application containing TTimer on the same form as TICQClient generated Access Violation error (Thx! to Simon de James)07-September-2002, Version 1.18[!] Sorry that HTTP proxy support wasn‘t added in this release, it‘s impossible due to blocking sockets architecture, but ICQ HTTP PROXY protocol has been discovered and parsed (for developers: see MySocket.pas)[!] Added file receiving see ‘File Transfers‘ in Help.chm[+] Added RequestInfoShort procedure & OnUserInfoShort event for requesting the short info about user[+] Added LastError: String property in TICQClient[+] Added ICQClientVer_Major, ICQClientVer_Minor constants in ICQWorks.pas[*] Some work-speed improvements[*] Improved info request/response procedures & events[*] Improved white pages (more compatible with ICQ2002a)[*] Improved sockets: data sending should work better now (especially with badly internet connection)[*] Improved TICQClient timeout timer[*] Contacts & contacts requests can be sent/received also through server now, see SendContacts, RequestContacts functions[*] OnPasswordChanged events moved to OnInfoChanged event.[-] Finally fixed the bug which doesn‘t allow to close the application having TICQClient while Windows restarting/shutting down[-] Fixed bug: users where not added to invisible list while receiving server side lists in Example (bug in Example) (Thx! to Attila)[-] Fixed age field in OnUserFound event when searching white pages[-] Fixed disconnection bug in direct connection sessions (server doesn‘t handled disconnection events)[-] Fixed access violation on receiving OnInfoBackGround events with different count in Pasts & Affiliations lists (bug in Example)[-] Fixed UTF8ToStrSmart function, now it should convert UNICODE strings from ICQ server nearly perfectly ;) (Thx! to Alexander Vaga)[-] Fixed TMySock access violation when destroying the object after socket reported OnConnectError[-] Lots of access violation fixes, which appear while using heavily TICQClient as a non-visual object17-August-2002, Version 1.17[!] Added server side list upload support (you can even add users into SSL without authorization!), see ‘Server Side Lists‘ in Help.chm[!] Added Miranda-icq database support in TICQDb component, see DbType property in Help.chm[+] Added ignore list support, see Server Side Lists in Help.chm[+] Added OnURLFound event in TICQDb[+] Added OnChangePasswordError event, called when password cannot be changed[+] Added new ERR_LOGIN type in OnError event, for more info see Help.chm file - OnError event[+] Added SetAuthorization procedure setting ‘authorization required‘ and ‘webaware flag‘, see SetAuthorization procedure, OnAuthorizationChangedOk event[+] ICQ databases can be open now while ICQ is running[*] Added authorize parameter in OnUserFound event[-] Fixed internet address resolving, which caused connection errors on some Win98 systems[-] Received SMS messages were not converted from UTF-8 format[-] Fixed devision by zero in TICQDb component10-August-2002, Version 1.16[+] Added SMS reply event, now you can receive messages sent through cellular, see OnSMSReply event (Thx! to Olivier)[+] Added connection timeout support, see ConnectionTimeout property[+] Added OnError event, now you can understand why you‘ve been disconnected :)[+] Answers on info changing, see OnInfoChanged event[+] An option disabling direct connections, see property DisableDirectConnections[*] Direct connections are estabilished now through proxy (if any)[*] Removed thread layer while resolving IPs in SOCKS proxies[*] MySocket.pas improvements, fixed potential Access Violation bugs[*] TProxyType moved to ICQWorks.pas[-] Fixed SetSelfInfoMore procedure: languges were broken[-] Fixed message ACKs[-] Proxy packets were dumped in OnPktParse event[-] SendSMS procedure didn‘t convert Text to UTF-8 format[-] Client should disconnect now on receiving malformed packets06-August-2002, Version 1.15[!] SOCKS4, SOCKS5 proxy support, only experimental now, please test it[+] Added keep alive packets support, see procedure SendKeepAlive[+] Added OnOnlineInfo event providing advanced info about users going online: Internal & External IPs, Port, Protocol version.[-] Messages from Mac clients were not received (Thx! to AV(T))[-] Fixed range checking errors in TICQClient component (Thx! to Klimashev I.A.)[-] Fixed unicode strings in server side contact list group names[-] Fixed icon displaying in UserSearch form of the Example project[-] Some help fixes and modifications16-July-2002, Version 1.11[!] Added TICQDb example. See DbConverter.[+] Impoved SMS support, see OnSMSAck & OnSMSRefused events.[-] TICQDb: .idx and .dat files were not closed after importing[-] Offline messages were not received (Thx to Sergey Sokolov)15-July-2002, Version 1.1[!] Importing messages, urls, contacts(with their info) & owner‘s info (including password!) from ICQ2000x, ICQ2001x, ICQ2002a databases. See TICQDb component.[!] SMS messages are working :) (Thx! to Nick Barrett)[*] property Pasword changed to property Password (sorry for spelling)[*] New help file! (.chm format)[*] Removed AddContactVisible, AddContactInvisible functions, use VisibleList.Add, InvisibleList.Add instead.[-] Fixed bug with Visible/Invisible lists: after adding a user to your vis./inv. lists you was disconnected from server. (Thx! to Karloz R.)[-] Sorry that new Russian help file isn‘t included in this release, I have‘t got time for it bacause of going in the summer hollidays :)12-July-2002, Version 1.0 (Release!)[+] Added contacts request, see RequestContacts function[+] Added acks on every direct packet, see OnDirectPacketAck event.[-] Russian help didn‘t contain some functions & events[-] Main example should work now in Delphi5 & other compatability issues10-July-2002, Version 0.9[!] Direct connections are supported now![!] OnMessageRecv & OnOfflineMsgRecv are divided now into OnMessageRecv/OnURLRecv & OnOfflineMsgRecv/OnOfflineURLRecv, so the MsgType param isn‘t used now[+] Sending/Receiving messages directly to client[+] Sending/Receiving contacts[+] Receiving contacts requests[+] Improved MySocket.pas, now it works safier and doesn‘t use any threads05-July-2002, Version 0.8[+] Added Russian translation of Help.html. See HelpRus.html.[+] Added password changing procedure. See ChangePassword procedure & OnChangePasswordOk event.[+] Added unregistering the existing UIN. See UnregisterUIN procedure and OnUnregisterBadPassword, OnUnregisterOk events.[-] UNICODE(UTF-8) names in the server side contact lists were not converted to ASCII.[-] Packet dumper now parses more packets on channels 1 & 405-July-2002, Version 0.7[+] Now you can register new UIN from TICQClient! See RegisterNewUIN procedure and OnNewUINRegistered, OnNewUINRefused events.[+] Auto-away messages support. See RequestAwayMsg procedure, OnAutoMsgResponse event and AutoAwayMessage property.[-] Since v0.6 ‘White Pages‘ did not work properly (Thx! to Ozan Kulahci)[-] Login event was called too early, so search & some other functions were not working immideatly after login (Thx! to Ozan Kulahci)04-July-2002, Version 0.6[!] Removed Connecting property & OnConnect, OnConnectError, OnDisconnect events. I think there‘s no way of using them. OnConnectionFailed now called when you loose connection with server or you cannot connect to it.[+] Added advanced message support(SendMessageAdvanced procedure, OnAdvancedMsgAck event). Now you can receive confirmations on messages you‘ve sent![+] Added SendSMS(const Destination, Text: String) procedure for sending sms messages, please, test it and mail me(email above) about results, country where I live isn‘t supported by the ICQ sms gateway :)[+] Added new items to languages constant array[-] Example wasn‘t showing messages received in RTF format02-July-2002, Version 0.5[+] Added visible/invisible list support: look at AddContactVisible, AddContactInvisible functions and VisibleList, InvisibleList TStringLists in Help.html file[+] Updated main Example, now it receives server lists, saves contact list to disk and adds users from the search dialog[+] Added new VerySimple example with just logging and sending/receiving messages. This example shows easy of use of the TICQClient component.[+] Changed AddContact(UIN: LongWord) procedute to AddContact(UIN: LongWord): Boolean function, it returns True when user is added to the list and False if it‘s in the list already[+] Added RemoveContact procedure, which removes UIN from user‘s contact list while you are online[-] Fix in AddContact procedure it was sending the entire contact list, instead of new UIN[-] User‘s info StringLists(Interests, Affiliations, etc) in Example having the same group names caused errors: the first group and value were repeated a few times instead of showing the different values with the same groups01-July-2002, Version 0.4[!] Server side contact list is supported now![+] Added SendURL(UIN: LongWord; const URL, Description: String) procedure for sending URLs[+] Added SetSelfInfoGeneral, SetSelfInfoMore, SetSelfInfoAbout procedures for uploading the self info[-] Fixed SearchByName procedure, now it works correctly30-June-2002, Version 0.3[+] Added ICQClient.dcr icon, thx to Quique![+] Added OnUserInfoBackground event[-] Fix with user‘s gender in ‘White Pages‘[-] A few other small fixes28-June-2002, Version 0.2[+] Added white pages & random search[+] Update to PacketDump viewer (PktDump.pas), not it parses CLI_META and SRV_META packets[-] Fix in SRV_METAINTEREST, interests were badly parsed[-] Some fixes with LNTS strings26-June-2002, Version 0.1[!] First public release

5,928

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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