Hosam
I think it will be good if you upload the projects in question here.
So that we and especially Krool can retrace the error.
Videos are not so very helpful in this case.
Printable View
Hosam
I think it will be good if you upload the projects in question here.
So that we and especially Krool can retrace the error.
Videos are not so very helpful in this case.
I think it is not a problem of code karl . As in the videos , the same code runs successfully in a time and causes vb to crash in another time . Also , the STDexe project never run successfully with me . Once I open it , or just try to view the FrmMain , Vb crashes . This of course is not the case for any of the members here as almost no one reported this problem . So , I think it is not a matter of code . It might be something related to registry entries or binary conflict or something in VB6 IDE itself . This was the reason I uploaded these videos : to see what is wrong in my case . But I will upload the project also . It might be something common . Thanks karl .
Edit 1 :
the project source code . Just put the database in the D:\ partition and add a reference to ado 2.5 library and of course VBCCR 1.5 OCX
Attachment 154437
Hosam
Do you run the VB6 IDE with admin rights?
From the videos, I don't see the UAC dialog coming up.
I tried to test here with VBCCR15, but it seems I don't have the correct database tools installed.
Unfortunately, I can't run the project using the data connection.
When I comment out all the database related stuff, then the project runs well in the IDE.
And does never crash.
A remark:
It is good to use Option Explicit in your code, it can help a lot.
yes karl vb6 runs with admin rights .
Attachment 154439
and I used option explicit and same results came up
For the database , I use MS access 2010 . It is necessary to setup it and run the database code to exactly simulate the case I have
Hi, would this work for 64-bit Word / Excel?
Do you have anything to replace OWC11, again for 64-bit Word?
Thanks
I believe it would not. Office x64 is not compatible with 32bit COM
beside for your information, Microsoft does recommand to NOT install x64 version of Office UNLESS:
"you are opening image or database of more then 2gb"
ref.:
https://support.office.com/en-us/art...e-6c6f49b8d261
People tend to think x64 version are better and faster. This is absolutely not true with the exception of file OVER 2gb
wich very FEW people in the whole world use (news editors is a good example of such users)
I have a very large Database in access with history of more then 100 000 records and the database has a file of 3mb
The biggest I ever saw in Office was a 240mb file from a powerpoint for the end of school (prom) newspaper. there were over
thousand images in it. we're far from the 2gb limit
The project is limited to 32 bit.
Even in Access 2013 format x64 the database limit is 2GB. So even no advantage on that..
And the 4GB memory limitation for 32 bit is not an argument. Every 32 bit process can have 4gb allocation. (Not in total allocation; per process allocation)
So who want to use more than 4gb of ram in an office instance?
My advise: go back to 32 bit office.
The application we're running in 32-bit is hitting the memory limit and so we're getting Out Of Memory errors. It's a very complex planning application with a big updateable data cube being presented in an embedded worksheet in Word. We've slimmed it down as much as we can but it's right up against the limit. Hence we are looking at the possibility of 64-bit which doesn't have the 4Gb memory limitation.
Is there any way we can get multiple processes running from within the one VBA app?
MMcC, it is fairly easy to get multiple apps running from one VBA application. VBA is inherently single-threaded but using shell you can start as many new process as you have memory for. In addition, you can communicate between the separate processes. For example, I have a file manager program that is written in Excel that has the option of doing the specified file operation(s) such as copy, move, rename or delete files and/or folders within the currently running instance of Excel or it can spawn a new instance of Excel and do them separate from the current instance. In fact, you can spawn as many of these as you want. I have also seen this technique used to do many web searches at one time. Yes there is some overhead by starting new instances of Excel, Access, Word, etc. but it is really not that much (maybe 20mb) in today's multiple gigabyte systems. It is a handy way of effectively multi-tasking from within VBA (same code works in VB6 too). I could upload some code to show you how to do this if you are interested.
“Out Of Memory” Does Not Refer to Physical Memory might offer some insight on why you're getting that error.
if your program is using more then 4gb ram memory (in ANY scenario), it is most likely a memory leak issue.
in c# for example, lot of people are using COM component without using the garbage collector wich is MANDATORY when using COM component in Managed code. More to that, while using COM, the simple rule that apply is "never use 2 dot" (meaning don't use this.property.property) because it will cause a memory leak while the .NET do this in memory:
TempObject= this.property
userobject = TempObject.property (equivalent to this.property.property )
the TempObject will reside in memory even if you use the GC collector and then you got memory leak.
you're talking about using worksheet in Word, (this is using COM component) plz check your code for double dot and GC collector properly used.
Krool: didn'T intended to hijack your thread with this answer, if you think it was innapropriate, just tell me I'll refrain myself in the futur.
Any suggestions for my question guys ?
Briefly watched your video. I think that it is not the grid component, but the ADO which causes the IDE crash. Solution is to properly close ADO connection and set the ADO object to nothing (by VB code) before closing application.
fex...
More informationCode:'in form QueryUnload routine
DB.Close 'close db connection
Set DB = Nothing
'or
Set rs = Nothing
Set cmd.ActiveConnection = Nothing
Set cmd = Nothing
https://docs.microsoft.com/en-us/sql...ose-method-ado
https://docs.microsoft.com/en-us/sql...ods-example-vb
http://www.vbforums.com/showthread.p...ado-connection
double post for some server reason...
There is a few thing I have noticed but it is really simple Vb6 programming rules that are not applied.
one of the is your declaration with the NEW keyword.
in Vb6 you must NEVER declare a variable with a NEW keyword, this has been documentated at least a hundred time
it mess up the memory in many ways.
always prefers the method:
Dim YourObject as ...
Set YourObject = new ...
then, never forget to DESTROY the object when you are done with it.
Set YourObject = Nothing
(you're not doing it so you got a memory leak there that in time will crash the IDE while debugging)
same thing with the WITH keyword, it's better to avoid it when not necessary, I missed why you really need the first WITH.
aside from that, you didn't showed what reference object you are using for the RecordSet, there is many version of the MDAC and only the 2.8 and 6.1 (6.0) are stable for Win7+ if you're using anything different, it might as well be your problem
Microsoft recommend to use only the 6.0 for Win7+
if you could post a non working project, it would be easier for diagnose. as for me, I didn't use that component for year because I created my own component based on 6.0
I doubt it has anything to do with Krool control. did you tested your code with regular control ?
I also noticed the bug you got when you open Vb6, the only time I saw this bug was with a Custom made USB portable version for Vb6 and it contain a Trojan (virus)
I would fix your installation before attempting to search for gremlins.
It seems that behavior is wanted by the TabStrip control. It's done by comctl32.dll. (TCN_SELCHANGE)
The only workaround would be to handle MouseUp event and perform a HitTest.
Edit: you certainly also need to handle TabBeforeClick and pass True to the 'Cancel' parameter. Thus it will not change selection prior your MouseUp workaround.
Thanks for precious information VBnetmatrix . I will give these points a try and post my the result here
Aha, I thought it was not intended.
Ok, that's not much effort.Quote:
The only workaround would be to handle MouseUp event and perform a HitTest.
And this makes trouble.Quote:
Edit: you certainly also need to handle TabBeforeClick and pass True to the 'Cancel' parameter. Thus it will not change selection prior your MouseUp workaround.
If I set Cancel to true, then I can't select a tab at all.
I could manage the Cancel value, but I think this is not a good approach.
See attached example.Attachment 155021
When you select the Tab during MouseUp you Need to flag an private variable (form variable) so during that selection you do not set Cancel to True in the TabBeforeClick Event.
I think the event will also be fired when you Change the tab by code. So in that exception you need to by-pass it once.
That what I meant by "I could manage the Cancel value, but I think this is not a good approach.".
It works in this special case of course.
When I make it like this, I must set the variable on every single .Selected call.
And reset it afterwards.
Ok, this can be made.
But for scrolling through the tabs by wheel, this approach fails.
Cancel is true, so scrolling doesn't work.
As there is no Scroll events, I can't do anything.
And it is not a solution to set the variable on MouseDown.
If no MouseUp happens, then I'm lost.
MouseEnter/Leave both don't fire, so no chance to reset (while this wouldn't be reliable in this case anyway).
Again see attached sample.
Attachment 155023
Any better idea? Or I hint on what I'm overlooking?
EDIT:
I tried several apps to see how they react on MouseDown on a tab.
They all switch the tab immediately on MouseDown, and not on MouseUp.
So what we find in VBCCR is a correct behavior.
But I don't like it so much.
The Tab control seems to be the only control that doesn't behave like all other controls.
If the workarounds are too much effort, then I fear I have to live with the standard.
Hello
There are no installation instructions and no clear download link.
That means I'm looking for a file called "OLEGuids.tlb", nothing more.Quote:
At design time (IDE) there is only one dependency. (OLEGuids.tlb)
The first post states:
I see no "Download" link. The only way to get the file seems to be through GitHub, but VBCCR/Standard EXE Version/OLEGuids/OLEGuids.tlb was last updated on 18 November 2017.Quote:
List of revisions
21-Dec-2017
- Improved the WM_MOUSEWHEEL handler for fine-grained wheel changes in the TabStrip, MonthView and DTPicker control.
How is one supposed to get the latest version of this CommonControls library?
the project download is at the bottom of the first post. If you have issues setting up the project, you can just download the already compiled ocx from this thread. also at the bottom of the OCX threads post.
see here --> http://www.vbforums.com/showthread.p...on-controls%29
download the VBCCR15.OCX.rar.docx file, and rename it to VBCCR15.OCX.rar
extract the rar, to a folder using winzip/winrar or 7zip.
copy the VBCCR15.OCX to a permanent location like syswow64. and register it there.
(open a admin commandline, and run regsvr32.exe VBCCR15.OCX /register from syswow64)
1. Why not write clear installation instructions in the first post?
2. Why not offer a clear download link for the "only one dependency", "OLEGuids.tlb"?
Thank you for the reply DEXWERX. I checked the attachments to the first post of the EXE version. The only attachment visible to me is "ComCtlsDemo.zip.docx". It contains "OLEGuids.tlb" from 2017-06-09. How does one get the "leading source" EXE version from 21-Dec-2017?
In the meanwhile I'm trying to use the Slider widget in an existing project. I've copied OLEGuids.tlb from 21-Dec-2017 into the system folder, and added a reference to it. Nothing new appeared in the toolbox, so I clicked Project > Add User Control > Existing, selected ComCtlsDemo/Builds/Slider/Slider.ctl. It appears in the toolbox. However, when I try to place it in a form, I get an error: "User-defined type not defined" from
So I grepped and found that that probably comes from Builds/ComCtlsBase.bas, so I added that module, tried again, and, user-defined type not defined:Code:Private PropRightToLeftMode As CCRightToLeftModeConstants
Found it in Builds\ISubclass.cls, so I added that, tried again, fail again with "DPICorrectionFactor"...Code:Public Sub ComCtlsSetSubclass(ByVal hWnd As Long, ByVal This As ISubclass, ByVal dwRefData As Long, Optional ByVal Name As String)
Surely this brute-force head-banging is not the correct procedure for adding a widget to an existing project... But I see no installation instructions. What am I missing?
OldClock,
It seems you don't understand the concept of the Std-EXE version.
That's why I advise you to just use the OCX version.
When you read the first post carefully you will find a link to the OCX.
By explaining the issues a new user to your custom controls such as myself encounters I was hoping the situation could be improved for everyone - by browsing through these 48 pages I see I'm not alone.
I raised some issues already in September last year - none of them were addressed. There still are no clear installation instructions for incorporating these custom controls in an existing project and in a new project, no clear licencing, no clear download link. When one is involved with something for a long time, one becomes blinded to how it appears from the outside; I think that may the the case here. For example someone trying to find what licence this whole thing is under will not find that information in the standard place - a "LICENCE" text file is not bundled with the project and is not to be found on the GitHub page, it does not exist. Only through luck would one find "no license, free" on page 42 of this forum. It reminds me of H2G2,
Quote:
"But the plans were on display . . ."
- "On display? I eventually had to go down to the cellar to find them."
"That's the display department."
- "With a torch."
"Ah, well the lights had probably gone."
- "So had the stairs."
"But look, you found the notice, didn't you?"
- "Yes," said Arthur, "yes I did. It was on display in the bottom of a locked filing cabinet stuck in a disused lavatory with a sign on the door saying Beware of the Leopard."
Maybe I don't.Quote:
OldClock,
It seems you don't understand the concept of the Std-EXE version.
Having everything compiled into the EXE is what I want. If I missed the concept, would you explain it better?Quote:
At design time (IDE) there is only one dependency. (OLEGuids.tlb)
This is a modified version of the original .tlb from the vbaccelerator website.
But for the compiled .exe there are no dependencies, because the .tlb gets then compiled into the executable.
Everything should be self explained, because all functions and properties have a description.
I verbosely explained the issues in this and previous posts in hopes that these issues can be addressed properly, for everyone's benefit.
Hey OldClock - why so rude and demanding? Please don't forget that Krool is donating his time to this project, offering it all 100% free of charge. Yes it would be splendid if he spent even more time putting it all together in a perfect professional package with polished documentation, but that's a lot to just demand or expect from a volunteer.
You've identified a pain point, so maybe this would be a good thing to contribute back once you've worked out the details? You know, for everyone's benefit ;)
jpbro:
1. I disagree about rude. It takes time to point out issues clearly, and instead of acknowledging the problem, I received "It seems you don't understand the concept of the Std-EXE version" in reply. As I admitted, perhaps I don't, but that means the concept can be explained more clearly.
2. Demanding - I'm pointing this out for my own selfish needs as well as for every other layman's benefit. I'm not asking for much either. A project that's been going of for many years is shooting itself in the foot if it doesn't explain the basics to attract more users, testers and potential developers - in that order.
3. I've been heavily involved in open-source for the last 10 years and am quite familiar with how it works. I can't give back before I understand anything about this.
I understand your frustration. It's difficult to jump into a complex project as a beginner.
Some helpful info:
A typelib is a binary file that defines types, object interfaces, and more specific API definitions needed for COM interop / marshalling (and VB)
There is no code in it per-se, just a set of definitions needed to interact with certain APIs. So you won't find any controls in a type library.
They can be embedded in an ActiveX DLL or OCX, or as standalone .TLB files, and they are installed similarly using REGTLIB.EXE
So plop the typelib in a good spot - and browse to it under references to add it to your project.
Like jp said - Write down the steps you take to get the standard exe going and paste the instructions here, so you can help other beginners figure it out too.
Word of caution though - the standard exe project can be difficult to work with for developers that don't already have the pre-req knowledge of
1) building user controls in VB
2) COM/typelibs/ActiveX Dlls
3) Win32 API, Subclassing, Windows Common Controls
Feel free to ask specific questions - there are plenty of people here other than KROOL that are willing to help out. That's the beauty of open source.
edit: another tip - There are many dependencies for the controls - and they are all packaged nicely in the OCX version.
If you are trying to use just a couple controls of the EXE project - start by getting the EXE project going, and then removing all the pieces you don't need.
Spend some time figuring out the dependencies before you go and try adding stuff piecemeal to another project.
We'll have to agree to disagree about this one.
I haven't really used Krool's controls much so I may be wrong about the following, but I just tried getting a "minimal" project together to use a subset of the controls without requiring the OCX as follows:
- Download the latest source code from GitHub as a ZIP file.
- Extract the Standard EXE Version folder.
- Start a new VB EXE project.
- Rename Form1 to MainForm
- Click the Project menu, then click References. The References window appears.
- Click the Browse button.
- Navigate to the Standard EXE Version fodler that was extracted in Step #2, then navigate to the OLEGuids subfolder and select the OLEGuids.tlb file and click Open.
- Back on the References window, click OK.
- Add all of the files from the Standard EXE Version\Common folder to the project.
- Add all of the files from the Standard EXE Version\Builds folder to the project (not all of the files from the subfolders, just the BAS/CLS files in the Builds folder).
- Add the individual UserControls from the various Builds subfolders that I want to be part of my EXE (for example, to add the ComboBoxW control, add the ComboBoxW.ctl file from the Standard Exe Version\Builds\ComboBoxW folder to the project).
From there I added a control to MainForm and it seemed to get sited, compile, and run fine. Again, I haven't done this before so I may have made mistakes (or added more files than necessary), but the above should be a good place to start.
I love that these projects are on github now. It's cool to see someone submit a fix (for the flexgrid) and see what was fixed.
Hi Krool,
If LabelW is inside FrameW, the LabelW_Click() event does not fire.
I experimented with the "old" FrameW (before 3-Jul-2017 version), it works.
Hi Krool,
Ref attached screenshot.
I am converting a more than 10 year old app to use your controls. The screenshot show a MDI child window which is normally used to show a chart on a picturebox. During the occasional optimization process, the chart will be cleared using .cls. On every iteration/permutation, .cls again and the running updated optimization information are re-printed using .CurrentX, .CurrentY and .Print. This repeats until the last iteration/permutation.
This process can be aborted anytime with the Abort button. Using the VB6 commandbutton, it stay on the window. When I use CommandButtonW, it won't show. However, when I resize the window, it will show and then sometime flicker on and off and disappear.
It is not really a problem because for this one button I can use the VB6's. But if there is some thing I can do, I rather use your CommandButtonW.
For some odd reason the HelpContext features/properties are only available when the UC's CanGetFocus is True.
So in order to not gain focus in the FrameW the WM_MOUSEACTIVATE is handled.
And that also avoid clicking on a windowless Label control...
Solution would be to put a Picturebox above the FrameW and the Label on the Picturebox.
Other solution would be to discard WM_MOUSEACTIVATE and put CanGetFocus to False, but that's not recommended due to loss of help features.
Sorry..
Hi Krool,
Thanks.
No problem. I can use the old FrameW.
Edit:
I decided to use a CommandButtonW instead of the LabelW
Hmm. I have found an solution, but I think it is not the "cleanest" way, or is it? Maybe somebody can advise. (?)
So instead of
I would use thenCode:Private Function WindowProcUserControl(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If wMsg = WM_MOUSEACTIVATE Then
Dim Pos As Long
Pos = GetMessagePos()
If WindowFromPoint(Get_X_lParam(Pos), Get_Y_lParam(Pos)) = hWnd Then
WindowProcUserControl = MA_NOACTIVATEANDEAT
Exit Function
End If
to avoid getting the Focus by mouse click. So any Label control would receive it's mouse clicks.Code:Private Function WindowProcUserControl(ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If wMsg = WM_SETFOCUS Then
SetFocusAPI wParam
Exit Function
The tabbing is already avoided by applying TabStop = False on FrameW startup.
oldclock.
krool has invested a lot of time in designing these controls, and many others have added a lot of comments to help this project, we are all so thankful, and we feel that criticism can only jeopardise this beautiful project.
having said that, with krools permission, I would be glad to write a post with all the proper links to download and install the ocx (exe version and ocx version)
do you agree for me to do it, krool?
thanks krool , I use you stuff all the time..
Yes, what Semke said!!!!! ("Krool has invested a lot of time in designing these controls, and many others have added a lot of comments to help this project, we are all so thankful, and we feel that criticism can only jeopardise this beautiful project.") .............. Thank you Krool
Quite the opposite. Constructive criticism leads to improvements.
The .docx extension was necessary so it could be uploaded. (there is a file limit of 500 KB without .docx extension)
OCX Source (includes a Compiled OCX)
EXE-Version Only Source
If you would like to open the source code in Visual Basic, you will need to register OLEGuids.tlb which is in the OLEGuids Folder in the zip file, this is an updated type library with classes required for this project
Agreed @Dexwerx...sometimes it's not the message, it's the delivery.
I think I will revert in the FrameW control back to CanGetFocus = False and thus loosing the HelpContextID feature but gaining the mouse clicks. (both label, or windowless controls on container, and frame itself)
I would consider that more important than an obselete HelpContextID for this case.
If somebody uses HelpContextID for an old app, than the Frame control might stay with the VB.Frame then.. any comments concerning this before I suceed? Schmidt?
Update released.
This point got me so annoyed. The own MouseDown or Click event of the FrameW is not firing and of course not any placed windowless controls on it, as for instance a LabelW control.
So I switched back and turned off again CanGetFocus to False and made some other minor modifications related to that.
Now you can click on it and get all your events and of course it won't receive focus.
But, as already warned, this has been done in the expense of the HelpContextID support. However, I will stick with this solution as of now.. When somebody complaints about HelpContextID then I want an advise of how to resolve both. :) Or just simply switch to VB.Frame when really HelpContextID is needed.
The OCX has also been updated now in 1.5. However, in order to not wait until 1.6 I needed to "ghost" the HelpContextID property. (remove was not allowed in order to maintain binary compatibility)
Code:Public Property Get HelpContextID() As Long
' HelpContextID = Extender.HelpContextID
End Property
Public Property Let HelpContextID(ByVal Value As Long)
' Extender.HelpContextID = Value
End Property
OPTIONBUTTONW PROBLEM
OptionButtonW fires 1 event too much on a mouseclick.
See attached:
Attachment 155323
OptionButtonW1(0).Value = True after Form_Load.
When I click OptionButtonW1(1), I get 2 click events.
1x from OptionButtonW1(0): Value = False
1x from OptionButtonW1(1): Value = True
The intrinsic control doesn't show this behavior.
---
EDIT:
I know it's easy to workaround this.
As I would have to do this in many distributed places, I mentioned it here.
In the STD-exe project , when I click on the image combo to expand it and then close the form , IDE crashes !! . It also has no images displayed despite being set to Imagelist 1
the previous problem did not occur after removing some ado connection code . this same code with no change at all did not raise any problems . I was about to re-post about this problem and it is hard for me to explain . how come that : some code works fine - close the program - start again - unload the form - now IDE crashes . I am fed up with this error . If possible , I need someone`s help on teamviewer . 3 months of suffering with this issue and with every update I come here to test again and same results . I am sure I am not doing something wrong .
This problem is about 4 months old for now and I can not find a solution or even determine what the problem exactly is .
I have posted about it in this thread and followed all suggestions for solution but it never got solved .
The problem was that : In a form , If I open a connection using ado and the form contained a populated listview , VB IDE crashes when the form is unloaded or the program is terminated in any way : like End statement or Break in the IDE or even by pressing the close button on a form .
If I remove the ADO connection code , the problem disappears then . And also If don`t populate the listview and keep the connection code only , then the problem also does not occur . So , they are somehow related .
After many tests and workarounds the result is the same . I thought it might be something related to binary conflict while I was upgrading from one version to another or something related to registry or manifests . I was using windows 10 64 bits and some copy of VB6 .Now I have just installed a new copy of Win7 32 bit and also downloaded a new VB6 copy from the web with no known or common problems to get to the very basic clean start point to avoid any mistakes which could have been there in my old system (win 10 - VB6 - registry - manifests or type libraries) . In the old system , the STD-Exe project never ran in my machine . I was using the OCX version only and it was fine till version 1.4 . The problem was about 1.5 version .
Now , with the new windows , I can run the STD-Exe project and I don`t exactly know what has solved this problem(new windows , or some version update of the STD-Exe or some binary conflict removed) but anyway , this is a good point and I thought that this would be the end of my suffer . I made the same old experiment within the STD-Exe project itself . In the main form , I left everything as it is . I have just added a separate command button which just connects to an access 2010 database and just opens the connection and a table in the database.I did not even touch the listview or populate it with the recordset data . I have only opened a connection .
when I posted about this problem here in this post , some people who I`m thankful to , have suggested to organize my code which opens the connection like freeing up memory after the code executes . I followed the advice previously and also in the new system and the problem still occurs .I have even tried all MS Activex Data Objects library with versions like 2.5 -2.8 -6 and 6.1 . The point was that it might be raising some error in the form unload , terminate or the query_unload events and causes the IDE to crash maybe . I have put error handlers in the 3 events and no error was raised at all in any of the test cases .
I said it might be the way I connect to the database is what caused the problem . So , I have used a very clean code from Microsoft examples to open the connection with error handlers and cleaning up lines of code and the problem has never been solved .
Note : I have recently solved this problem but I can not determine the cause accurately . So , there is a problem not related to something wrong I was doing as I said before . I will preview the solution in a separate post for investigation by the folks here about what are the causes of this problem and how this solution resolved it .
Sorry for late posting . I have been away the last 3 days .
About the previous problem , I have logged into the event viewer in windows and I have become able to be more close to it by viewing the error reports of the App Crash error . I found some of the modules which have been previously loaded before the IDE crashes . Some of them were some office libraries . This shed a light in my mind about the database itself (I use Access 2010) . So , I have changed the database to Access 2003 and changed the connection string and everything is fine now . I even changed it to MySql and also the problem did not happen . I have made a link between the last VBA enhancements made by krool and thought that : this might explain the point that the project worked smoothly before some VBA enhancements starting from some version in 1.4 and to the last in 1.5 .
I can not determine the cause of this problem but I found the solution to avoid it . Now , I abandoned using access 2010 and started using Mysql . I was anyway planning to upgrade the database I am using in my next projects . But , the problem is still here for the VBCCR control itself . I will post the error description in event viewer so we can investigate it and determine the problem and its cause .
text from error report
here is another error report generated besides the previous oneQuote:
Version=1
EventType=APPCRASH
EventTime=131619560662224530
ReportType=2
Consent=1
UploadTime=131619560663704615
ReportIdentifier=4460b171-073e-11e8-ad02-344b50b7ef23
IntegratorReportIdentifier=4460b170-073e-11e8-ad02-344b50b7ef23
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=vb6.exe
Sig[1].Name=Application Version
Sig[1].Value=6.0.81.76
Sig[2].Name=Application Timestamp
Sig[2].Value=3592011f
Sig[3].Name=Fault Module Name
Sig[3].Value=StackHash_bd6d
Sig[4].Name=Fault Module Version
Sig[4].Value=6.1.7601.17514
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=4ce7b96e
Sig[6].Name=Exception Code
Sig[6].Value=c0000374
Sig[7].Name=Exception Offset
Sig[7].Value=000c37b7
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=6.1.7601.2.1.0.256.1
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
DynamicSig[22].Name=Additional Information 1
DynamicSig[22].Value=bd6d
DynamicSig[23].Name=Additional Information 2
DynamicSig[23].Value=bd6da9ef237a3963a2e89c4f8462e8c7
DynamicSig[24].Name=Additional Information 3
DynamicSig[24].Value=4001
DynamicSig[25].Name=Additional Information 4
DynamicSig[25].Value=4001e67bd137f2b281c8a96faa71cc92
UI[2]=C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe
UI[3]=Visual Basic has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
LoadedModule[0]=C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe
LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\Windows\system32\kernel32.dll
LoadedModule[3]=C:\Windows\system32\KERNELBASE.dll
LoadedModule[4]=C:\Program Files\Microsoft Visual Studio\VB98\VBA6.dll
LoadedModule[5]=C:\Windows\system32\ole32.dll
LoadedModule[6]=C:\Windows\system32\msvcrt.dll
LoadedModule[7]=C:\Windows\system32\GDI32.dll
LoadedModule[8]=C:\Windows\system32\USER32.dll
LoadedModule[9]=C:\Windows\system32\LPK.dll
LoadedModule[10]=C:\Windows\system32\USP10.dll
LoadedModule[11]=C:\Windows\system32\RPCRT4.dll
LoadedModule[12]=C:\Windows\system32\OLEAUT32.dll
LoadedModule[13]=C:\Windows\system32\ADVAPI32.dll
LoadedModule[14]=C:\Windows\SYSTEM32\sechost.dll
LoadedModule[15]=C:\Windows\system32\apphelp.dll
LoadedModule[16]=C:\Windows\AppPatch\AcGenral.DLL
LoadedModule[17]=C:\Windows\system32\SspiCli.dll
LoadedModule[18]=C:\Windows\system32\SHLWAPI.dll
LoadedModule[19]=C:\Windows\system32\UxTheme.dll
LoadedModule[20]=C:\Windows\system32\WINMM.dll
LoadedModule[21]=C:\Windows\system32\samcli.dll
LoadedModule[22]=C:\Windows\system32\MSACM32.dll
LoadedModule[23]=C:\Windows\system32\VERSION.dll
LoadedModule[24]=C:\Windows\system32\SHELL32.dll
LoadedModule[25]=C:\Windows\system32\sfc.dll
LoadedModule[26]=C:\Windows\system32\sfc_os.DLL
LoadedModule[27]=C:\Windows\system32\USERENV.dll
LoadedModule[28]=C:\Windows\system32\profapi.dll
LoadedModule[29]=C:\Windows\system32\dwmapi.dll
LoadedModule[30]=C:\Windows\system32\SETUPAPI.dll
LoadedModule[31]=C:\Windows\system32\CFGMGR32.dll
LoadedModule[32]=C:\Windows\system32\DEVOBJ.dll
LoadedModule[33]=C:\Windows\system32\urlmon.dll
LoadedModule[34]=C:\Windows\system32\WININET.dll
LoadedModule[35]=C:\Windows\system32\iertutil.dll
LoadedModule[36]=C:\Windows\system32\CRYPT32.dll
LoadedModule[37]=C:\Windows\system32\MSASN1.dll
LoadedModule[38]=C:\Windows\system32\MPR.dll
LoadedModule[39]=C:\Windows\system32\IMM32.DLL
LoadedModule[40]=C:\Windows\system32\MSCTF.dll
LoadedModule[41]=C:\Program Files\Microsoft Visual Studio\VB98\VB6IDE.DLL
LoadedModule[42]=C:\Windows\system32\vbame.dll
LoadedModule[43]=C:\Windows\system32\CRYPTBASE.dll
LoadedModule[44]=C:\Windows\system32\CLBCatQ.DLL
LoadedModule[45]=C:\Windows\system32\SXS.DLL
LoadedModule[46]=C:\Program Files\Common Files\Microsoft Shared\VBA\MSO97RT.DLL
LoadedModule[47]=C:\Windows\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.7601.17514_none_41e6975e2bd6f2b2\COMCTL32.DLL
LoadedModule[48]=C:\Windows\system32\CRYPTSP.dll
LoadedModule[49]=C:\Windows\system32\rsaenh.dll
LoadedModule[50]=C:\Windows\system32\RpcRtRemote.dll
LoadedModule[51]=C:\Program Files\Microsoft Visual Studio\VB98\DATAVIEW.DLL
LoadedModule[52]=C:\Windows\system32\MSVBVM60.DLL
LoadedModule[53]=C:\Windows\system32\mscomctl.ocx
LoadedModule[54]=C:\Windows\system32\comdlg32.dll
LoadedModule[55]=C:\Windows\system32\comdlg32.ocx
LoadedModule[56]=C:\Windows\system32\COMMTB32.DLL
LoadedModule[57]=C:\PROGRA~1\MICROS~2\VB98\VBSCC.DLL
LoadedModule[58]=C:\Windows\system32\MFC42.DLL
LoadedModule[59]=C:\Windows\system32\ODBC32.dll
LoadedModule[60]=C:\Windows\system32\odbcint.dll
LoadedModule[61]=C:\PROGRA~1\MICROS~2\VB98\AddSccus.dll
LoadedModule[62]=E:\before windows\befor windoes 3\public\softwave smart Q\softwave smartQ\vb6\vs6ent\VSS\win32\SSSCC.DLL
LoadedModule[63]=C:\Windows\system32\WINSPOOL.DRV
LoadedModule[64]=E:\before windows\befor windoes 3\public\softwave smart Q\softwave smartQ\vb6\vs6ent\VSS\win32\ssus.dll
LoadedModule[65]=C:\Windows\system32\MSDART.DLL
LoadedModule[66]=C:\Program Files\Common Files\System\Ole DB\oledb32.dll
LoadedModule[67]=C:\Windows\system32\bcrypt.dll
LoadedModule[68]=C:\Program Files\Common Files\System\Ole DB\OLEDB32R.DLL
LoadedModule[69]=C:\Windows\system32\comsvcs.dll
LoadedModule[70]=C:\Windows\system32\ATL.DLL
LoadedModule[71]=C:\Windows\system32\bcryptprimitives.dll
LoadedModule[72]=C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEOLEDB.DLL
LoadedModule[73]=C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_50916076bcb9a742\MSVC R90.dll
LoadedModule[74]=C:\Program Files\Common Files\Microsoft Shared\office14\mso.dll
LoadedModule[75]=C:\Windows\system32\msi.dll
LoadedModule[76]=C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACECORE.DLL
LoadedModule[77]=C:\Windows\WinSxS\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4940_none_50916076bcb9a742\MSVC P90.dll
LoadedModule[78]=C:\Program Files\Common Files\Microsoft Shared\OFFICE14\1033\ACEWSTR.DLL
LoadedModule[79]=C:\Program Files\Common Files\Microsoft Shared\office14\MSORES.DLL
LoadedModule[80]=C:\Program Files\Common Files\Microsoft Shared\office14\1033\MSOINTL.DLL
LoadedModule[81]=C:\Program Files\Common Files\Microsoft Shared\OFFICE14\ACEERR.DLL
LoadedModule[82]=C:\Program Files\Common Files\Microsoft Shared\OFFICE14\1033\ACEINTL.DLL
LoadedModule[83]=C:\Windows\system32\MSSTDFMT.DLL
LoadedModule[84]=C:\Program Files\Common Files\System\ado\msado15.dll
LoadedModule[85]=C:\Program Files\Common Files\System\msadc\msadce.dll
LoadedModule[86]=C:\Program Files\Common Files\System\msadc\msadcer.dll
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=Visual Basic
AppPath=C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe
Quote:
Faulting application name: vb6.exe, version: 6.0.81.76, time stamp: 0x3592011f
Faulting module name: ntdll.dll, version: 6.1.7601.17514, time stamp: 0x4ce7b96e
Exception code: 0xc0000374
Fault offset: 0x000c37b7
Faulting process id: 0x1488
Faulting application start time: 0x01d39b4ad9c24dee
Faulting application path: C:\Program Files\Microsoft Visual Studio\VB98\vb6.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report Id: 4460b170-073e-11e8-ad02-344b50b7ef23
depending on some key errors from the previous two logs I have come to thes points :
1- The program faults in module ntdll.dll .
2- The error category is StackHash_bd6d. (comes from the first log)
3- The exception code is 0xc0000374 .(comes from the second log )
4- The program crashes few steps after loading office14 modules .
The point #4 is what made me try another database option and this way I could "avoid" the problem but as I said I can not determine it accurately .
I googled the error StackHash_bd6d and the Exception Code 0xc0000374 and they are talking about page heap corruption in memory . Maybe the VBA enhancements are the cause or maybe something related to my system . Actually , I don`t exactly know but I posted it perhaps someone could help .
Krool,
Thank you for your great work towards improving the community. I have discovered a minor issue with the Listview control. To demonstrate, modify your Standard EXE example so that the top right Listview has Multiselect = True. Next scroll to the far bottom right and click with the left button in an empty area as if you were about to create a box to draw a selection around everything in this window. What happens for me is the mouse jumps to the top left of the screen. The jump seems to happen in mouse down. I can move the mouse back down and eventually finish my selection. I discovered this behavior with the listview set to report but it was much more difficult to reproduce.
I've looked into your post...
can you give us your code for the ADO you're using for connection ?
Win Win7+ you must use at least ADO 6.0
with Office 2010, you CANNOT use JET OLE, you MUST use ACE
the only way I could see an IDE crash would be subclassing issue, do you subclass your form ?
we can't fix something we don't see the code for.
What some people don't seem to understand is that FORUM are limited from what we can do.
Krool did a tremendous job and proposition like the documentation really show teamwork collaboration and THAT is what Krool need. Thanks.
I also offered something in past and I hope to deliver soon, it could solve some of the collaboration problem. (if Krool still agree)
I want to show my deep appreciation for Krool work.
If your described issue is the same as described in the following link "ListView quirks in Win 10"
http://www.vbforums.com/showthread.p...irks-in-Win-10
then I will reject any fix as this is a Todo for MS from last update in Win 10.
If not (please confirm again) we can look at.