Click here to Skip to main content
15,394,023 members

Comments by GenJerDan (Top 115 by date)

GenJerDan 28-Jan-21 7:18am View
Right off the bat, ftpServerIP + "/" + fileInf.Name); will attempt to save "/fileName" because your ftpServerIP string contains a trailing /

Is "/" a valid character in a filename? Pretty sure not.
GenJerDan 21-Dec-20 5:03am View
Me, if I was sure the extra characters were non-text/non-printable, I'd add a "trim" in there somewhere to remove all extraneous characters from the ends. That's cheating, of course.
GenJerDan 18-Dec-20 6:15am View
Yeah, I went with if/else. Simple, if not fancy. And it's working, which is all that Higher cares about. LOL
GenJerDan 17-Dec-20 10:06am View
That's my understanding of it, too. I just get nervous diddling with a live system. An example I found on the web has:
class Example {
static void main(String[] args) {
int[] array = [0,1,2,3];

for(int i in array) {
if(i == 2)
in which everything gets printed except "2". I just wasn't sure if that would apply with a .eachFile loop, or if it's only good in vanilla "for" loops. That's from the documentation. S.O. is all over the place with answers, some saying "return", some saying "continue".
The divide seems to be "for" versus ".eachXXX" loops, with .eachXXX liking "return" best.
(I'll come back an Accept Solution once I try it out, if I don't get a more definitive answer. Thanks.)
GenJerDan 19-Oct-20 3:39am View
And the XP will need to be on SP3, iirc.
GenJerDan 2-Oct-20 3:12am View
Upgrades are not allowed until vetted by The Powers That Be. No updates to anything have occurred in months. (Closed system, all updates are manually done.)
GenJerDan 12-Aug-20 3:45am View
How would LIKE work on a number? Is 3 like 13? Or is 4 like 3, only a little bigger?
Anyway, check out CAST and CONVERT and turn the number into a string and do the comparison on the newly converted string.
GenJerDan 25-Jun-20 3:25am View
Where is the MDF located, and are permissions on that location set correctly?
GenJerDan 2-Apr-20 9:01am View
It also assumes all sorts of things which may not be true. There are many family names which are two or more separate "words", and probably a few given names. Getting two initials just became more complicated. If it really needs to be two initials, the code should take the first word and the last word in a split string list, and process those for the initials. (This will also work just fine for the simple case of two "normal" names, of course.)
GenJerDan 9-Dec-19 5:21am View
I would say do NOT check availability on any domain-name site. Even legit ones. Unless you buy the domain immediately, the chances are good that someone else will buy it up and try to sell it to for the low-low-price of twice what it would have cost if you bought it immediately. I've been waiting for years for the jerk who bought up my preferred .com name and just has it parked.

Maybe just doing a web search for the domain you want, would at least tell you if it's already in use somewhere.
GenJerDan 3-Apr-19 2:15am View
And, unless I'm not thinking clearly, that code will wind up only displaying the last instance that meets the conditional. Well...they might all appear, but you won't see them becasue they'll fly by really quickly. ;)
GenJerDan 22-Mar-19 2:50am View
Heck with the breakpoint; put in an else (temporarily) and show what actually is in the TextBox. (In the meantime, Trim both the TextBox and the Clipboard text, and do a ToUpper or ToLower on them both (or otherwise de-case-sensitize the compare)) ;)
GenJerDan 26-Apr-18 2:22am View
If the form you're trying to close is the "main" form of the application, closing it will close the application itself. You're better off hiding it (you can close other forms, if there will be more following this pattern), or trying doing the whole thing differently. Have to you looked at any examples of "wizards"? Wizards do something close to what you seem to be wanting to do.
GenJerDan 22-Jan-18 7:12am View
Since it looks like only a readonly preview is being asked for, how about using a PreviewHandler?

Or am I missing something?
GenJerDan 2-Sep-16 12:51pm View
Thanks. That looks like it will provide more info than the Failed Request Tracing, which doesn't say much at all.
GenJerDan 2-Sep-16 12:47pm View
I wish. But we are constrained to work with what is. Maintenance mode, for now. That would involve New development.
GenJerDan 2-Sep-16 12:45pm View
It's in the pipeline; we just don't have the people to get everything done that needs doing in a timely manner. :(
GenJerDan 2-Sep-16 12:40pm View
I think the crashing is just as likely to be related to taking too long combined with a few dozen similar processes running at the same time. The Daily Upload of Data, all occurring at the same time, via this sort of ridiculous ASP/VBScript...thing.
We're in the process of converting at least this part to an SSIS, but we keep being overcome by circumstance; too many fires and not enough firemen.
IF there is an actual error, it doesn't show anywhere, and I don't have enough knowledge to put any decent debugging code in these things. And, of course, we are not allowed to install any tools on the servers.
I can say what the problem isn't: there's nothing wrong with the text files that are loaded. Running the process two or three times eventually gets all the data processed. And it's not even all that big. The files combined come out to be about 83K lines total.
GenJerDan 2-Sep-16 12:32pm View
Caret-delimited text, like^this.
GenJerDan 10-Feb-15 16:02pm View
D'oh! Yeah. Got a CheckBox UserControl, too. :p

And, yeah, I think it probably is the UserControl gobbling that part of it. Well, no matter, since this isn't a "real" thing. Might be fun to figure out how to "reexpose" it.
GenJerDan 15-Oct-13 11:23am View
Except for the pretty forms, it's a simple database app. I'll just set everything back to "Form" instead of the custom class first. If that doesn't do it, I'll grab the machete and start trimming... :p
GenJerDan 15-Oct-13 11:13am View
Not just my system, though, so it has to be the code. I'll go in and cut out all the "extra" stuff and see what happens. It's probably going to end up being the code uswed to pretty-fy the forms. That'll teach me to go to CodePlex for things.
GenJerDan 15-Oct-13 11:11am View
Not a dang thing. I've been "skinning" the forms, but took the skin off the one calling the dialog, but it made no difference.. I'll try de-skinning everything and see if there's something in there doing it. Have never gotten an error (at least that would point to where the problem is). Oh, and it happens with or without debugging, and inside or outside VS. I always seem to get the weird problems...
GenJerDan 14-Oct-13 20:32pm View
Yes. Tried with and without. No difference.
GenJerDan 14-Oct-13 20:32pm View
How do you screw up a MessageBox?
if (MessageBox.Show("Really delete this entry?", "Confirm delete", MessageBoxButtons.YesNo) == DialogResult.Yes)
{ etc.

That's System.Windows.Forms.MessageBox

Now that one, I didn't include the owner.

But for the FolderBrowserDialog, I did.

But there's not much to show, code-wise. I dropped the dialog on the form, not created in code, so all I'm doing is:

if (dlgFolders.ShowDialog(this) == DialogResult.OK)

And it behaves the same whether or not there's a "this" in there.

I guess all this means is no else has ever seen this before. Googling shows other people...who fixed it by including the owner. Made no difference on mine.
GenJerDan 14-Oct-13 16:02pm View
What it is doing is main form "Form A" opens "Form B" modally, which pops up the FolderBrowserDialog modally when a button is pushed. I have not explicitly created any threads. Is Windows/VS doing it behind my back?
GenJerDan 26-Sep-12 9:06am View
It's not restricting the application. It's restricting the use of the entire computer on the network. Logons are already restricted via Active Directory. It's a legal requirement that the users agree to the terms of use once a year. Anyway, I found a solution.
GenJerDan 25-Sep-12 9:09am View
Nah. It's just the standard Gov warning. Same thing, pretty much, that pops up if you go to a government website.
And (and maybe I should have said this) it only pops up once per year. If the user agrees, they're good until the next year.
GenJerDan 24-Sep-12 19:57pm View
Not the usrer's computer. They belong to the Federal government.
GenJerDan 24-Sep-12 16:33pm View
Unless the user agrees to abide by the agreement, they ARE NOT ALLOWED to use the computer. If they don't like it, they can find another job somewhere else.
GenJerDan 24-Sep-12 15:14pm View
I guess I explained it badly. It's to prevent users from the using the computer, not just an app. It's essentially an additional log on screen for the system. (I'll edit above to clairify.)
GenJerDan 10-May-12 9:16am View
Whether "modal" is tyhe right term or not...don't know. But if I have three popups that need to be shown sequentially, the second has to wait for the first to finish, then it would pop up while the third waits. Then, after the second is done, the third can annoy the user. In a previous incarnation of the app, I used ShowDialog on the popup (which was just a regular form with some animation) and it worked fine because ShowDialog didn't return until it was done. This form uses ShowWindow (grrrrrr), so it "returns" immediately and the second and third appear before the previous one(s) are done. I'd have to go back to the old popup...if I can find the code...this one is SO much nicer.
GenJerDan 19-Mar-12 14:02pm View
Which version of XP, and which version of .NET?

What trust level are you trying to use? (It probably needs Full)
GenJerDan 20-Sep-11 11:23am View
Isolated how? Where would you put the the controls so they aren't wrapped in the master? Don't you put them in the Content areas?
GenJerDan 7-Sep-11 7:07am View
I've had IIS "magically" decide to disable authentication and revert back to Anonymous. If that happened to you and you had your app set to Deny wouldn't work. What, exactly, is the error you're receiving?
GenJerDan 29-Aug-11 11:16am View
Talking too long in filling out a page shouldn't cause a Request timeout. If anything, it would be a Session timeout, which has a default of 20 minutes (unless the hosting provider changes it). The Request timeout is probably from whatever you're returning to the user after they've submitted the page, or while attempting to insert the data into a database (assuming that's where it's going). Any error codes at all being returned?
GenJerDan 29-Aug-11 10:01am View
You're welcome.
GenJerDan 25-Aug-11 15:57pm View
Check with the author if there's an updated version. Although I don't know why it wouldn't load in 2010. At worst, it should do a "convert" on it. Also, a search for "C# MHTML" will bring up a cople of pages worth of links, including: which might be what you're looking for.
GenJerDan 24-Aug-11 16:12pm View
OK. That's just weird. You get "500" on the regular pages (an IIS Internal Server Error), but 200/206 on the video file (which is ok).
GenJerDan 24-Aug-11 14:25pm View
If your network blocks MSDN and ASP.NET, then you really need to have a chat with them, since they are preventing you from doing your job.
GenJerDan 24-Aug-11 14:21pm View
Damn. Wish I had seen this earlier. I just deleted a bunch of emails telling me how I could enlarge my database.
GenJerDan 24-Aug-11 14:19pm View
Gosh. Sounds like a scary world, that WEB DEVELOPMENT place. Glad I live here.
GenJerDan 23-Aug-11 21:46pm View
Check the Event logs (Application) on the server. If nothing there, check the IIS logs, see if you're getting anything but a 200.
GenJerDan 19-Aug-11 20:06pm View
MSSQL 2005, No primary key (it would be a combination of multiple columns if I could do it...but I don't own it). As far as which columns match...all, except the one that can differ and one differentiating the rows. I can deal with that. Thanks. Can't try it until Monday, but I have a feeling you have a 5 in your future. :-)
GenJerDan 19-Aug-11 15:27pm View
GenJerDan 19-Aug-11 10:52am View
It's not so much the CASE that would give me problems, it's the comparing two rows. The only way I can think of is to split the table into two temp tables and compare them row by row, selecting the proper row based on the criteria to return to the app.
GenJerDan 19-Aug-11 9:49am View
And step two would probably be
GenJerDan 15-Jul-11 14:33pm View
It probably isn't an issue in this case, but for the future: beware of your ending date. If there is any possibility that the time portion of the DateTime won't be null, that <= 7/15/2012 won't get you the ones born on the 15th in most cases.

Safer to add a day and just do a less-than, i.e. < 7/16/2012
GenJerDan 14-Jul-11 14:09pm View
well, then your added parameters don't match your declared parameters. Change them to @image_type and @image_size and see what happens.
GenJerDan 14-Jul-11 9:17am View
Never mind. I was thinking the sql string was getting managled from the ( being up against the rest of the text, but that's not the prob.
Is this code copied directly from your program? If so, @imagtype and @imagesize are incorrect, spelling-wise.
GenJerDan 13-Jul-11 16:49pm View
You just need to parse and replace some characters. For instance, if it returns 5.25E+12 do a .Replace("E+"," x 10^") on the string, which should reformat it to "5.25 x 10^12"
GenJerDan 14-Jun-11 9:22am View
Nope. The delay won't be the data transfer from the server. It will be the rendering of the grid. I've run into this way too many times in past, even with grids of only 1000 or so records.

The best way to do is to only retrieve enough records to display on a page, then fetch more as the user wants to see more. (There are a lot of examples here and elsewhere showing how to do that.)
GenJerDan 13-Jun-11 15:00pm View
:^) Well, it's the same basic pattern I use in all of mine, and I haven't had any noticeable problems with it.
GenJerDan 3-Jun-11 15:21pm View
Accepted because it is tacky to provide my own solution, even though it had nothing to do with either. Problem actually solved by Brian Eno and a cigarette.
GenJerDan 3-Jun-11 14:54pm View
True or False, made no difference. AutoPostBack is set on the combos. It's acting like it's not a web app. Yes, I even tried running "Convert to Web Application" on the project. No diff. "Normal" HTML controls work just fine, i.e. a hyperlink will bring me to a new page. Driving me crazy.
GenJerDan 2-Jun-11 9:38am View
No, see this is Questions *AND* Answers. This is an answer. Now it'll be here in case someone comes in and asks how to send email with an attachment from and page. Efficient, yes?
GenJerDan 11-May-11 9:24am View
Yeah, you're right. That's what I get for looking at these first thing in the morning... Yo, BoySetsFire: ignore my answer.
GenJerDan 28-Apr-11 14:35pm View
Ooooo, very nice. :^) (But it looks like the CSS3 version will let you do it with DIVs and such, too. Quick! Everyone get a "modern" browser so I can do cooler things!)
GenJerDan 28-Apr-11 12:48pm View
Looks like CSS3 only (IE9, FF4 etc). Dang...I could use it, too.
GenJerDan 28-Apr-11 12:43pm View
Is background-size CSS3?
GenJerDan 26-Apr-11 13:55pm View
%$$^&%$#! This is from last NOVEMBER? Either it has already been solved, or he found something else to do by now.
GenJerDan 20-Apr-11 9:47am View
Deja vu all over again... More info needed:
Does the player show up on the page, but no media in it? Or is there no player at all?
What does the source look like when the web page is rendered (View|Source in IE), meaning: Is the URL of the media correct?
GenJerDan 19-Apr-11 9:21am View
EVERY time I couldn't get a video to play it was because the URL was incorrect. Are you really getting the URL you're expecting?
GenJerDan 18-Apr-11 14:37pm View
I'd try a tiny test program in another language (C, C++, VB) that does nothing but the function you're having problems with and see if you get the same or a different error. But even before that, I'd put breakpoints in your existing code where you're connecting to the card...see if it really is getting connected.
GenJerDan 18-Apr-11 12:31pm View
Yes. But one of the posters mentions that the results are different when called from .NET and "regular" programming. Like the DLL isn't returning the datatypes expected, so the actual error may not be card removed, but something else entirely...
GenJerDan 15-Apr-11 12:36pm View
I see what the problem is: "i don't have source code yet" I, too, have trouble getting things to work before coding them.
GenJerDan 14-Apr-11 12:24pm View
Glad to help. Don't forget to make the question as answered so it doesn't hang around in the unanswered pile. :)
GenJerDan 14-Apr-11 9:09am View
Glad to help. Don't forget to make the question as answered so it doesn't hang around in the unanswered pile. :)
GenJerDan 12-Apr-11 9:19am View
Oh...this was taken from Don't want anyone to think I'm smarter than I am. :^) I used this to parse some web pages for modified display.
GenJerDan 7-Apr-11 10:00am View
Well, if none of the results have a groupType 0 - 32, then the distro lists are not in OU=Groups. You can either find out which OU contains them, or back the query up one more level and search the entire OU=NetworkLocation. I'd only do once, though. Then look at the distro lists and see which OU they are in for future queries.
GenJerDan 7-Apr-11 9:49am View
The query is wrong. It should NOT start with "CN=". That's just looking at a particular object, not an OU. Cut it back to the first "OU=". If you don't have a way to browse the Directory (I use ADSIEdit.msc) to find where the Distribution Lists live, check with the Domain admin folks. They should have the info.
GenJerDan 7-Apr-11 9:31am View
DLs are just groups, separated out either by OU or the flag I mentioned above. Can you give an example of what you're seeing and what you expect to see? Outlook shows the displayName. It may differ from the cn and will surely differ from the distinguishedName. :^)
GenJerDan 30-Mar-11 23:38pm View
Are you doing SetPackageProperties(document); at the end of the CreatePackage function? With the SetPackageProperties function creating it an an OpenXMLPackage?
SetPackageProperies(OpenXmlPackage document)
GenJerDan 30-Mar-11 23:21pm View
Ah. I guess they need to be embedded somewhere "upstream" of them being applied. Good to know.
Actually, the easiest way to do all this is to design your doc in Word, save it, then use the Document Reflector to deconstruct it into a C# class.
GenJerDan 15-Mar-11 9:46am View
Well, if it's not the Subject or the sender tripping the junk alarm, it's probably the content of the email...or possibly lack of content. Another junk indicator is an HTML body without the plain-text version available.
A "good" HTML bodied email will have this in the header "Content-Type: multipart/mixed;" and then the body will be available as both "Content-Type: text/html;" and "Content-Type: text/plain; "
GenJerDan 10-Mar-11 9:30am View
IIS should just be acting as the SMTP server, not the sender.
GenJerDan 28-Feb-11 12:57pm View
You could do the same for Label9 as Pankaj shows, just don't do the eval for the Text property...
GenJerDan 24-Feb-11 19:28pm View
Probably some other security setting, but don't know. Windows & IIS have both locked themselves down pretty well as far as access to the drives/network go. I don't have IIS here (and not v5, anywhere) so I can't investigate further at the moment.
GenJerDan 24-Feb-11 9:27am View
Yeah, I messed up the syntax, too. Correct syntax put onto the bottom of the Aanswer. Basically, move the "&" to the beginning.
GenJerDan 23-Feb-11 17:04pm View
Working for you now?
If not, and the code above is what you still have, "FName" is only getting a value if the original string contains a "."
GenJerDan 12-Feb-11 18:13pm View
Yep. No 1 or 0. The number or 0, and a bool telling you its status.
GenJerDan 12-Feb-11 7:45am View "i" be the integer value of the text if it was an "integer string". The return value is 0 or 1, depending on whether it successfully parsed.
GenJerDan 8-Feb-11 13:47pm View
OK. That's ridiculous...maybe. If I *DO* run the setup as Admin, the app works just fine from that directory for everyone. Guess that would have been nice to put in the documentation and How-Tos. <sarcasm>Thanks MS.

'Though I guess it makes sense...only an Admin should be able to install for a paranoid world.
The inverse of your answer fixed it... LOL.
GenJerDan 8-Feb-11 13:35pm View
The setup isn't specifically running as Admin, but yes, it apparently does it anyway or it's inherited because of the location... Looking at other apps in that directory, they're all owned by System or Administrators with limited access to anyone else... So how do the other "anybody" apps read and write there if they're not running as admin? I have to elevate in my app?
GenJerDan 7-Feb-11 15:44pm View
". . .as if HTTP Server hosting ASP could help to implement SMTP somehow, which is not the case."

ASP implies IIS, which does have a built-in SMTP server, if you chose to turn it on.
GenJerDan 5-Feb-11 9:18am View
Couldn't he use the raw protocol up to VRFY to see if it's a valid address at the host?
GenJerDan 4-Feb-11 10:47am View
Huh. I didn't even look at the connection string...just the error. Silly me. Changing that to "Persist Security Info=True" would probably fix it, assuming the login & password were valid on the SQL server.
GenJerDan 3-Feb-11 16:48pm View
And the correct answer will probably involve javascript for client-side stuff....I'd hate to be a user subjected to a postback on every keystroke.
GenJerDan 30-Jan-11 22:52pm View
Not to hijack or anything, but I'm doing something not disimilar and wonder if this is more efficient than doing the for loop above, since the loop will run its entire course, even if the first extension hits.

string FileTypesString = ".gif.jpg.png.jpeg.";
Ext = Path.GetExtension(file.ToLower()) + ".";
if (!String.IsNullOrEmpty(Ext))
if (FiletypesString.Contains(Ext))
fileOK = true;
GenJerDan 27-Jan-11 19:07pm View
Might not be a bad idea to add StringSplitOptions.RemoveEmptyEntries while you're at it. Bit me once or twice.
GenJerDan 26-Jan-11 15:17pm View
That narrows down the problem, then. Put breakpoints in the code used to change the masterpage and see what the actual error is.
GenJerDan 26-Jan-11 14:18pm View
Do you get the same error if you don't try to change the MasterPage?
GenJerDan 25-Jan-11 17:23pm View
Is it just me, or is "rowIndex" not even in that block? Seems like the error is cropping up somewhere in the form's initialization/creation.
GenJerDan 25-Jan-11 14:24pm View
Oooooo. I wonder how difficult that would be to code: to prevent a new question until your old one is closed. 8-)
GenJerDan 25-Jan-11 14:21pm View
Or even if (MessageBox.Show("Applicant already has interview date. Do you want to overwrite this date?", "Set interview", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { }
GenJerDan 25-Jan-11 13:55pm View
Then you are having a different issue. The above code is correct. Looking for a file called "WhateverYourAppIs.exe.config" in the output directory of VS (Debug, hopefully) and see what's inside. It should contain the last changes you made to the settings. If not, then you are not calling the .Save() method in the right place or at all.
GenJerDan 12-Jan-11 15:40pm View
While they (all the ones I checked, anyway) will work, they don't actually create a Word doc. They just "trick" Word or Excel into opening what you send it. That is probably fine in most cases...but not if you need a "real" doc for whetever reason (formatting, etc.).
GenJerDan 12-Jan-11 15:24pm View
Ah. Oh, well. Didn't know you had something locked by Form1.
GenJerDan 29-Dec-10 16:32pm View
Yep, and Yep. And Yep. But Oh Lordy do I hate cursors. :D
On the other hand, should they ever decide to use this outside our little group of 50 people (the table has maybe...500...rows in it, I'll redo it. Thanks.
But OMG you should see the hoops I had to jump through just to get this far. Here's a bit of what the source table looks like:
BOB | 11/29/2010 12:00:00 AM | 03:30P to 04:00P
BOB | 12/7/2010 12:00:00 AM | All Day
BOB | 12/7/2010 12:00:00 AM | NOON to 04:00P

Gotta love those dates and times, eh?
GenJerDan 29-Dec-10 16:20pm View
It does the same as Answer 1 above, takes the first date and the very last date and uses them, even though there are dates between which are not adjacent to each other. My orginal Q sucked, because it wasn't clear enough.
GenJerDan 29-Dec-10 9:22am View
Thanks, but that didn't do it. It collapsed all the dates, not just the adjacent ones. For instance, if the dates were 11/20, 11/21, 11/22, and then again 12/13, it set the start as 11/20 and the end as 12/13, whe what I need is 11/20-11/22, and then 12/13 standing alone. Maybe my question wasn't clear. Sorry.
GenJerDan 16-Dec-10 23:08pm View
Thanks. Unraveled it and put a break in...but it seems canceling a backgroundworker doesn't actually cancel much of anything until it feels like it, so it didn't make a difference. Sigh. Guess the app is as tweaked as it gets. On to writing the help file. Yecch.
GenJerDan 7-Dec-10 9:56am View
If ClaimID is an int, why are you converting it to a string, then back to an int. And if it's an int, why are you passing it to the SQL as a varchar?
Anyway, are you setting breeakpoints when running in debug mode to see what the value is during all this? Maybe you're not getting what you expect you're getting.
GenJerDan 6-Dec-10 15:53pm View
Not putting this in as an answer, but I've had better success doing something like this:
rather than using the index.
GenJerDan 6-Dec-10 15:46pm View
Are you absolutely sure you wouldn't rather do this on the underlying datasource?
GenJerDan 23-Nov-10 11:56am View
Tried three different methods: enumerate all the files, then filter them; filter them while enumerating them; and using .GetFiles instead with the filtering coming afterward (LINQless).
The difference was a couple thousandths of a second on 4000+ files, and even that wasn't consistent in which method was "fastest". Lesson learned: it don't matter worth a darn which you use. :^)
GenJerDan 22-Nov-10 11:10am View
Which I will, if no one already knows the answer off the top of their head. But why do it if someone else already did it and will share their experience?
If no one has, no problem. And I'll drop my results in here in case someone else ever needs to know.
GenJerDan 16-Nov-10 10:18am View
Well, that's...not optimal. :^)
I wonder if we could make an add-on that'll detect the video stream and throttle it severely for a few seconds to "fool" the initial buffering. Hmmm....
GenJerDan 31-Oct-10 15:00pm View
And, just in case anyone is interested, the app won't blow up if "using" the WMP control if it doesn't exist on the box. It just ignores it the reference. Had to put in VMWare and an N version of Windows to find out, but there it is.
GenJerDan 30-Oct-10 23:25pm View
But I don't want it to be an error, per se. I'd rather give the user a choice between using WMP, if available, or a VideoLan (which I'll include with the app), if not.

Looking in the registry for WMP will work, I guess. Don't need special permissions just to look, hopefully. :)
Meanwhile, Googling brought up a mention of "Managed Extensibility Framework", which is overly complicated for my purposes, but interesting...maybe in version 2.

As for not seeing the ActiveX...I wasn't seeing a ListBox, either, so something about the way I'm calling the form in the DLL is just plain wrong...and I can find no samples of how to do it. No samples that work, anyway. :(
GenJerDan 24-Oct-10 11:52am View
Ah, ok. I'll just set them to 500 and hope for the best. If anyone runs up against a shorter limit, I'm sure they'll let me know. :)
GenJerDan 24-Oct-10 10:30am View
The Comment and Keyword (Tags is the friendly name) I'm asking about are the ones you get if you right-click a file and select Properties | Details. Is that the same structure?
GenJerDan 15-Oct-10 15:04pm View
17,000 at the moment...if I did a full gathering, it might be twice that. Never got the hang of paging and such, though, especially when he user can sort the data anywhichway.
I ran up a version using what we've spoken of and it works without a hiccup, so I guess This problem is solved. Thanks!
I may change it to use the record number (an actual id field), rather than the filename when it comes to the find-and-change-color part. I don't know if it makes a difference, but finding an integer match might be faster than finding a string match. I'll test it both way and see if it matters.
GenJerDan 15-Oct-10 12:04pm View
Oh, yeah, another thing which others might find helpful in other situations: I *do* run this in the debugger, and it never complained about it until recently...when I went from 10 rows in the underlying table to about 17,000. So it really really pays to test things with the expected data, not just a handful of test data.
GenJerDan 15-Oct-10 12:01pm View
Wondering: would I also be better off checking the existence of the files directly from the underlying table, instead of via the DataGridView? The table won't change very often, and if the user *does* want to change it, I can kill the thread and run the process "next time".

Then use that list, as you said, to change the grid in the UI thread.

The thing was threaded just so the user doesn't have to sit there waiting and waiting and waiting while housekeeping is being performed, but it's not overly vital that it takes place uninterrupted every time the user starts the app.