|
tiwal wrote: I don't think what I saw, that is , those two differents results with two builds of the same version, can be caused by any programmer's error Don't you believe it. I've had many more 'strange' problems that were caused by me, than were caused by Visual Studio.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
I want to develope web service in c++ (.net 2003).
i have no idea to do it please guide me
|
|
|
|
|
Start here[^].
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Read here, specifically point #2.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Show me a community that obeys the Ten Commandments and I'll show you a less crowded prison system." - Anonymous
|
|
|
|
|
Hi All
I need your suggestion for my following questions.
Recently i have buillt one standalone desktop software application and my question is ,
1. Application should be installed only one pc.
2. Once installed single PC it wont work/install otherPC/same PC next time.
3. We cannot used database for that application, also internet connection.
Please guide me how to proceed !
Thanks N Advance
Failure is Success If we learn from it!!
|
|
|
|
|
This does not look like a C++ question, you may like to try a more appropriate forum. You may also like to explain in more detail what actual problem you are facing.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Not a C++ question, and you haven't provided enough information to answer the question without making a lot of assumptions.
So, assuming the platform is Windows, and that the PC is not connected to the internet:
1. Make a pre-install application that reports a unique ID for the PC. If you don't fancy rolling your own algorithm (not recommended), consider using the value found in the Registry at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId which is probably unique and tied to an installation of Windows (see this StackOverflow discussion).
2. Once the user has run this application and reported the unique number, use it, with a secret key and a suitable hashing algorithm, to generate a unique hash tied to this ID. Deliver this hash to the user (in a letter, or email to other PC, or in a text message, or however you like).
3. In the installer, get the unique ID (by reading the Registry above), apply the hashing algorithm, ask the user for his or her hash, and compare the two. If they correspond, this is the correct PC, if not, abort the installation.
4. After installation is complete, Windows Installer will make a that this application has been installed. You can check this at the start of the installer to make sure it's not re-installed.
Basically, if you want to limit an application to be installed on only one PC, you need some way of identifying this single PC. If internet access isn't available, it can't be done during installation, so will need to be done in a two-step process.
|
|
|
|
|
Orjan Westin's suggestion of a unique key is probably the way to go, but you could also consider a hardware "dongle", e.g HASP, KeyLok, SecuTech etc.
The key can be shipped to the customer with the product media, or delivered separately when they request a license, and will ensure only one copy of the software is running per key supplied. Some dongle systems allow for upgrading, enabling additional features, and time-limited trial versions as well.
Days spent at sea are not deducted from one's alloted span - Phoenician proverb
|
|
|
|
|
Hi,
I am using Dialogbar in my application, but i can't resize my dialogbar. It appears in bottom side.
below see my code
if(!m_wndBottomBar.Create(this,IDD_ALM_BOTTOM,CBRS_BOTTOM | WS_VISIBLE|WS_CHILD|CBRS_LEFT|CBRS_SIZE_DYNAMIC ,IDD_ALM_BOTTOM))
{
TRACE0("Failed to create dialog bar\n");
return -1;
}
m_wndBottomBar.SetBarStyle(m_wndBottomBar.GetBarStyle()|CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);
m_wndBottomBar.EnableDocking(CBRS_ALIGN_ANY);
I have to resize bottom dialog bar any other way to resize my dialog bar?
Please help me ASAP.
|
|
|
|
|
|
Hi,
I am have C++ files (.h, .cpp) that include functions to read a specify file type (.dgn). And I want to use these functions in C# for the same purpose . I am intending use "__declspec(dllexport)" to use C++ functions.
But, I don't know what type in C# is similar to "typedef void *" in C++.
Please see belows is C++ codes
typedef void *DGNHandle;
DGNHandle CPL_DLL DGNOpen( const char *, int );
void CPL_DLL DGNSetOptions( DGNHandle, int );
int CPL_DLL DGNTestOpen( GByte *, int );
const DGNElementInfo CPL_DLL *DGNGetElementIndex( DGNHandle, int * );
Thanks and regards,
|
|
|
|
|
Use the following in google
"C#" interop void pointer
|
|
|
|
|
|
Hi,
Can I use the IntPtr (C#) for structure pointer (in C) ?
For example: I have a struct pointer in C: Quote: DGNElemCore * .
[StructLayout(LayoutKind.Sequential )]
public class DGNElemCore
{
public int attr_bytes;
public byte[] attr_data;
public int color;
public int complex;
public int deleted;
public int element_id;
public int graphic_group;
public int level;
public int offset;
public int properties;
public int raw_bytes;
public byte[] raw_data;
public int size;
public int style;
public int stype;
public int type;
public int weight;
}
|
|
|
|
|
I have already responded on the thread in the C# forum. You have changed the order of the items in this structure so it will not work.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|
Hi,
I have one dialog box (parent). I have a button on this dialog box. On clicking this button I'll invoke second dialog (child) (modal dialog). Now I want to keep track of an instance in child dialog that it has been invoked second time. I mean to say when I click on the button, this dialog will be Poped Up. Now in any of the functions defined in the child dialog, I want to know that this dialog has been invoked second time and also I want to save the state of any variable defined in the child dialog. for example if I have set a variable as 1 in child dialog, Now when I invoked this dialog second time, I should get the variable's value as 1.
Anybody have any idea regarding this.
Any help will be appreciated.
Regards,
Mbatra
|
|
|
|
|
|
what static......?
what should be kept static, the variable which I declared......
Still then how to check for the dialog invocation for second time.?
Please explain, or help with some sample code.
Regards,
mbatra
|
|
|
|
|
You have three options:
1. Store the information in static member variables in the child dialog.
2. Store the information in member variables of the parent dialog, pass it to the child dialog before calling DoModal() and retrieve the information when DoModal() returns.
3. Store the information in the registry below your application key. This is usefull when settings should be re-used when starting your app the next time. Information that is only used during the app execution time (e.g. the counter) should not be stored in the registry. But you may use a combination of registry with option 1. or 2.
|
|
|
|
|
Agree with some of other post, there is one more solutions, create a data class in your parent dialog class and pass as reference everytime the child dialog is invoked and all data modification should be done with the reference object, this way you will not have declare anything static and data would be at one place only!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You
|
|
|
|
|
You should keep a member variable(integer type)as static in parent dialog class. when button in parent dialog is clicked, this variable value just increment. i mean keep this variable as a counter. when this counter value is greater than one, pass this value to child dialog class. there should be checking for this counter value.
Note: in child dialog, you should use a configuration file(.INI) or text file for storing variable value.this file updated when closing the child dialog. if counter value is greater than 1, you should read this value from file and update variables.
modified 20-Oct-12 5:04am.
|
|
|
|
|
I have an image of a form. I can easily add that image as a bitmap
resource. Then in my CFormView, I click on Toolbox and Picture Control and
I select Bitmap as the type and find the image from the list of images. I
can then lay edit boxes on top of the form.
The problem is, the form is just a black and white form and the bitmap takes
up alot of space. I have several form images to add and my program is becoming
really big in size. In contrast, a png or jpeg is alot smaller in size and the
final software will be smaller.
I can add a PNG as a resource. However, I click on Toolbox and add a Picture
Control and then right click on that Picture Control to go to its properties
and if I select Bitmap, it doesnt show the PNG as a image to select. How can
I use the PNG that is added?
Another question which is not crucial. How can I add a JPG as a resource? And
if I add it, how can I then use it?
If you can show me how to use a PNG or JPG or anything similar (not a GIF) and
how to make it display, that would be great.
Sincerely,
Danielle Brina
|
|
|
|
|
If you can use GdiPlus library, Gdiplus::Bitmap can be used to load png and jpeg images.
You need to copy RGB data from jpg or png file to your picture control.
Please Note: GDI+ initialisation is required at startup of the application.
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
Gdiplus::Bitmap::FromStream() can be uised to create Bitmap from resource data.
Loading JPG & PNG resources using GDI+[^]
modified 19-Oct-12 4:01am.
|
|
|
|
|
I am attempting to call an x86 assembly procedure that takes three parameters, and returns the third parameter to the caller. The following is a simple example of a 3-parameter fastcall attempt:
@Foo@12 PROC
POP EAX, [ESP]
RET
@Foo@12 ENDP
And the C++ code that calls it:
#include <iostream>
using namespace std;
extern "C" int __fastcall Foo(int, int, int);
int main(int argc, const char *argv[]) {
cout << Foo(1, 2, 3);
cin.get();
return 0;
}
It is my understanding that the first two parameters are passed in ECX and EDX, respectively, and the remaining parameters are pushed on the stack. The problem is that the return address appears to be pushed to the stack AFTER the third parameter. So with the code above, EAX is populated with the return address, and then I get a memory access error trying to read address 3.
The only way I have been able to get this to work, is to change my assembly to the following:
@Foo@12 PROC
POP EDX
MOV EAX, [ESP]
MOV [ESP], EDX
RET
@Foo@12 ENDP
Now my simple, one assembly instruction code tripled in complexity. My question: is there some way to force VS2010 to push the return address BEFORE the method parameters, so my first, single-instruction assembly method works as expected? Alternatively, it would also be acceptable if VS2010 took responsibility for pop-ing the third input parameter off the stack (currently, if I don't call POP exactly once, I get a stack corruption error when main exits). In either case, there must be a way to write this method using fastcall calling conventions such that it only takes a single assembly instruction. Thanks for any help!
-- EDIT --
In case anyone cares, the answer is:
@Foo@12 PROC
MOV EAX, [ESP+4]
RET 4
@Foo@12 ENDP
Sounds like somebody's got a case of the Mondays
-Jeff
modified 23-Oct-12 18:45pm.
|
|
|
|
|
I'm not sure where you got your information but as far as I know, all arguments are pushed onto the stack when calling any function from C/C++. This MSDN page[^] would seem to confirm that.
One of these days I'm going to think of a really clever signature.
|
|
|
|
|