|
I was thinking more along the lines of a small thermonuclear device.
Give me coffee to change the things I can and wine for those I can not!
PartsBin an Electronics Part Organizer - An updated version available! JaxCoder.com
Latest Article: Simon Says, A Child's Game
|
|
|
|
|
I'd be happy to load you up some fuses, Mike, but primers are awfully expensive and rare right now.
Will Rogers never met me.
|
|
|
|
|
Damn regulations, stumps are awfully hard to get out by hand.
Give me coffee to change the things I can and wine for those I can not!
PartsBin an Electronics Part Organizer - An updated version available! JaxCoder.com
Latest Article: Simon Says, A Child's Game
|
|
|
|
|
Fuses do actually degrade with age, especially if the're rated a bit near the running current. The inlet fuse will almost certainly be subject to many times its rated current for a short interval every time the PSU is powered up (due to charging up capacitors), and each time they'll warm up a bit and lose a bit more "life". Could be your fuse just got too old and tired.
|
|
|
|
|
We have a lot of power glitches here also. We live in a very small community way out in the country. We're so far out they have to pipe sun shine into us!
Give me coffee to change the things I can and wine for those I can not!
PartsBin an Electronics Part Organizer - An updated version available! JaxCoder.com
Latest Article: Simon Says, A Child's Game
|
|
|
|
|
Interesting. When I search digikey for "fuse", I get a lot of them. Filter on product status: active, mounting type: requires holder, fuse type: cartridge, glass and I got over 1600 hits. Most of them can be ordered as single, but some can only be ordered in quantity.
Or, just Google "old car fuses" since cars used to use the same type.
Have to keep this old equipment working. I hope it's just a problem with an old fuse for you and that the fuse blowing is not just a symptom of another issue.
|
|
|
|
|
Hi,
I have to export a 'long' value from an unmanaged dll to a VB app.
I do this with other data types like int and bool, works fine, so I more or less know how do do it.
When I do the same with 'long' the call crashes.
Where there any samples out?
What is so special with 'long'?
Thanks for helping.
With best regards
Gerhard
extern "C" { __declspec(dllexport) long GetCurrentFileRawFilePointer (void); }
extern "C" { __declspec(dllexport) int AwaitCycleDoneFor (uint); }
extern "C" { __declspec(dllexport) bool isDataLinkClear (void); }
First line fails, other worked fine.
Declare Function GetCurrentFileRawFilePointer Lib "GeoMon4D_iMX7.dll" () As Long
Declare Function AwaitCycleDoneFor Lib "GeoMon4D_iMX7.dll" (timeout_ms As UInteger) As Integer
Declare Function isDataLinkClear Lib "GeoMon4D_iMX7.dll" () As Boolean
|
|
|
|
|
GerhardKreuzer wrote: extern "C" { __declspec(dllexport) bool isDataLinkClear (void); } It's because of the extra spaces in this line.
Jeremy Falcon
|
|
|
|
|
It's a long value, but the VB code requires a short - so you will need to zip the value - which should compress it nicely - and then pass it.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
Better to remove the zero-bits because they are worthless anyway.
|
|
|
|
|
I used C/C++ many years ago, as I recall that the long in C/C++ is actually 32 bits, the 64 bits type is called long long (or something like it), whereas long in .NET (and many other later languages) is 64 bits (see here[^]).
|
|
|
|
|
Many years ago, true (mostly). Today, at least on the 64 bit Archs (x86-64, arm-64, risc-v-64) I'm aware of, a long is 64 bits, as is a long long. And going back even further in time (8086 days), an int was 16 bits, and longs and long longs were 32 bits.
Keep Calm and Carry On
|
|
|
|
|
so they are referring to kind of physical unit rather than logical unit ...
|
|
|
|
|
In C++ and probably C the type is going to be 'int64_t'. That is exactly 64 bits in all situations.
|
|
|
|
|
If none of the other approaches work, consider a struct.
struct MyLong {
int hi;
int lo;
}
In the C/C++ side you might be able to union with a long, but it is probably more platform portable to explicitly crack the long and assign the two members separately.
|
|
|
|
|
This is the way to do it.
You could cast it, but it's never going to be as easy, safe and predictable as using a struct.
|
|
|
|
|
This is the way. :RemovesHelmet:
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
My other option was
struct MyLong {
int hi;
uint lo;
}
You only need the sign in one spot. Am I right?
:Reapplies Helmet: ?
:Puts Helmet on head and fastens chin strap and lowers visor: ?
What is the opposite of “Removes Helmet” that is just as concise?
|
|
|
|
|
englebart wrote: What is the opposite of “Removes Helmet” that is just as concise? "Equips helmet"?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I like it. Reminds me of a text based dungeon game!
|
|
|
|
|
your reasoning is sound, for one type of bit ordering
I'd personally stick to int and unit test the conversion logic instead
the details are easier to work out that way
|
|
|
|
|
Your long is actually a pointer. A pointer is unsigned 4 bytes or 8 bytes on 32-bit and 64-bit platform respectively. Long is always signed 64-bit integer on .NET. And you are not supposed to use a native file pointer in .NET to read/write to a file. Restrict your file operations to native code.
extern "C" { __declspec(dllexport) void* GetCurrentFileRawFilePointer (void); }
Declare Function GetCurrentFileRawFilePointer Lib "GeoMon4D_iMX7.dll" () As IntPtr
|
|
|
|
|
Hi,
lastly I found a working solution and its far from zipping data, thanks for that really good idea, but it was not April 1st, (and gives insight into your mindset).
The embedded framework didn't support passing 64 bit values between managed and unmanaged code. A little workaround is needed.
Fist create a new IntPnt object and pass this object to unmanged code by reference as parameter of some function. In unmanaged code use this pointer as any other pointer in C/C++, and assign the data you need.
Return from this unmanaged function and use the 'Marshal' class to readout the value.
Use a 'try finally' block to clean up memory in any case.
Managed code:
Private Shared Function ReadFilePointer() As Long
Dim ptr As IntPtr = Marshal.AllocHGlobal(Len(New Long()))
Try
GetBookmark(ptr)
Return Marshal.ReadInt64(ptr)
Finally
Marshal.FreeHGlobal(ptr)
End Try
End Function
Unmanaged code:
extern "C" { __declspec(dllexport) void GetBookmark (intptr_t*); }
void GetBookmark(intptr_t* bmark)
{
*bmark = ftell(outFile);
}
Hope this can help someone someday.
With best regards
Gerhard
|
|
|
|
|
Following is from the CodeProject newsletter
Live Coding Interviews[^]
I couldn't agree more with what is said there.
If a company is looking for a senior developer does one really expect it to matter how they set up a method signature? I want them to be able to design a sub-system. A real sub-system. So I want to hear about a real problem that they designed and implemented in the past. I absolutely do not want them to code a binary search algorithm because a senior developer should never code that - there are already existing solutions and they should know to use them.
And if the position in a junior developer then I expect that they will not be able to program in the first place. They can't design, they can't correctly create objects, they will introduce errors. Which is why they must always have a mentor (not half-a** either but basically at 50% utility.)
Most of these tests are basically ludicrous. At one point when I was looking for a job 3 different companies used an online IQ test to screen. Guess what - same IQ test for all three.
Adhoc tests by developers are even worse since they do not even understand how testing works. And certainly have never considered creating/determining a baseline for the test that they are giving.
Another company decided to start using a touchy-feely psy test which they came up with an 'ideal' category for new programmers. Then they gave it to the large (about 300) set of developers already working in the company. Of the top developers in the company already formally recognized by the company as being the best none of them tested into the 'ideal' category.
|
|
|
|
|
When I applied for a job as a computer operator back in 1965, I knew nothing about computers. The interview itself started with about a dozen of us in a classroom. It was explained that we were to be given a test which was used to measure suitability for the job. The test itself consisted of about 10 questions which all involved moving numbers from a starting box to a finishing one. Along the way there were one or two calculations to be done. Though I had no idea what the basis of the questions was, the answers all seemed logical to me, and I got the job. Later when a friend taught me the basics of the machine's instruction code I realised that the test was just about writing programs, and a few years later I switched jobs to actual programming. From that early start I managed to bluff my way through 40+ years of pretending to be a programmer.
|
|
|
|