This is the craziest problem I've ever seen. I have a text file containing a line of financial data for each minute of the trading day -- 400/day. I extract 4 data for each minute, calculate a ratio for two of these data points, and print what I've extracted plus the calculated value as one line, comma delimited, to a final text file. I do this process line by line. All variables are zeroed out between loops.
The calculated value is a ratio, and when the ratio is below 1, it erratically prints to the file with an order of magnitude error -- e.g., 2.567 instead of .0267. This happens consistently inside a any one file when I repeat the routine, but NOT consistently among days. There is no pattern of frequency of occurrence within the file other than when I repeat the processing, the same minutes show the error. The errors are spread throughout the day's data. The only common factor is that for files showing the error, the denominator of the calculation is alway larger than the numerator. It never occurs when the numerator is larger.
I've stepped through those days showing the errors, watched the ratio values as they are calculated, and never see an error. It only appears in the printed file. Have also tried all kinds of formatting statements and the errors always appear, for the same minutes. I've examined the original data file and an intermediate processing file and can find no irregularities.
I guess my question is what could be happening in the Print to file process that causes this error? It appears with both the Print and Write statements.
I've been looking for some help with regard to using the ICSharpCode.SharpZipLib.GZip library to stream read embedded gz files (i.e. File1.tar.gz has a.tar.gz, b.tar.gz, etc). I can use this library to successfully read .gz files which do not contain embedded .gz files but it's been difficult finding a solution to read embedded files. The following is a snippet of what I currently have. Any ideas or suggestions would be appreciated.
ForEach fi As FileInfo In di.GetFiles("*.gz")
fullPath = dirpath + fi.ToString
Dim gzips As GZipInputStream
gzips = New GZipInputStream(File.OpenRead(fullPath))
reader = New StreamReader(gzips)
DoWhileNot readLine IsNothing'---- work on readLine
readLine = reader.ReadLine
I wondering how you could encrypt a string a text in a textbox in 128-bit AES and also 256-bit AES (if applicable), and be able to de-crypt it (like binary code converting). It would also help if it was a few short lines of code or short as possible (if applicable).
I want to load and use two different versions of same dll in my project. only solution i could think of is to use same dll with different namespace, but I cannot change the dll since its third party. so i am stuck here...is it even possible? if yes then how?
Not sure if this is the right forum, since i want to achieve this in vb.net application so posted here. any kind of help is appreciated!
Thanks for reply.
these are .NET DLLs. basically our organization are shifting from an older version of third party API to its latest version. and we want to make this transition smooth, we want to use both for a while and gradually replace the functionality from older version to new version.
thanks for reply.
our organization are shifting from an older version of third party API to its latest version. and we want to make this transition smooth, we want to use both for a while and gradually replace the functionality from older version to new version. if you have any alternative solution then please share.
also, i've found that in SharpDevelop you could simple select the reference in the solution explorer, click properties and set a alias, this works for VB and C#, i can't verify that this is true for visual studio (i don't have it here), but its a good start point
if nothing works, the solution is to create 2 more class library projects and warp each version in a diferent namespace... too much work
EDIT: i haven't managed to reference the alias defined in SharpDevelop into the code, so, i think you will be forced to warp the dlls...
I'm brazilian and english (well, human languages in general) aren't my best skill, so, sorry by my english. (if you want we can speak in C# or VB.Net =p)
So I am currently attempting to wrap my head around create multi-threaded programs and I am currently running into an issue when using a Shared variable across multiple threads.
The program is structured as follows:
Public Shared IsActive as Boolean
Main Thread = GUI
Sets the Value of IsActive through a Button Control
Two Worker Threads
Both threads are while loops that read the IsActive Boolean
While IsActive = True
However when I change the value of IsActive from the Main Thread it causes the worker threads to stop (ThreadState = 16).
I have been reading that I have to synchronize/lock shared resources and have tried SyncLock and Monitor methods without success (it is entirely possible I am not using the above correctly, so If someone could provide proper examples for the above situation using the mentioned methods please share them).
Thanks a bunch for any and all help, much appreciated!
If I read your post correctly, you declare a variable in your UI code (isActive) and set it to True. Then you start two threads that both look at isActive and run until isActive if False. When you set isActive to False, both threads stop.
This is the expected behavior. Or am I missing something? What are you expecting to happen?
See, that is what you get from a poor choice of an identifier name, what you have implemented is a "PleaseContinue" flag: as soon as you set it false, the worker threads have nothing left to do, and terminate.
If OTOH you want a "TemporarilySuspended" flag (I switched polarity here!), something you could set true and false repetitively and your worker threads would obey, then you need your worker threads to wait for it to become true again. An AutoResetEvent may be a good choice then.
Anyway, IsActive is a bad name, as it does not describe a state, it is intended to give a command.
Yes correct, in my initial post I realize that the threads were behaving exactly as they should and just ended when the variable broke the workers out of the Wloop.
Basically, I want the two workers threads to constantly be running, and then when the shared variable is set to true they then start doing work. Then when the user clicks the button again the worker threads "pause" and wait for the next time the variable is set to True.
The "IsActive" name was just an abstraction. I use a much more detailed name in my actual code.
In regard to the "TemporarilySuspended" flag and AutoResetEvent, could you provide some examples, would love to handle that properly.
Thanks a bunch for the help!!
Last Visit: 31-Dec-99 18:00 Last Update: 4-Oct-23 17:48