CImage tmpImage = pDoc->m_imageArray[0];
int w = tmpImage.GetWidth();
int h = tmpImage.GetHeight();
int Bpp = tmpImage.GetBPP();
BITMAPINFOHEADER bmInfohdr;
[Code] ....
I'm trying to copy the DIB from the CImage into the clipboard. I get an access read violation on the second memcpy.
I designed an app for work that lets you enter data in a much more efficient way, then it needs to paste this data into the very curmudgeonly interface we use for work. I designed this app a long time ago while at a different company, and I used VC++ 6. I'm still using VC++ 6, but in a vbox with windows XP.
The code is being called as part of a bigger function that determines what exactly needs to be pasted into the work app spreadsheet. I have to call each item separately because the work app does not take copied tabs the way Excel would or whatever, it just ignores them. And it also pops up boxes and such that need to be handled in other ways.
The result works just fine under Windows XP, but when I do it under my regular Win7 box or on the Win7 boxes at work, it does not work properly.
This sets the data up, Text being the data to be pasted:
Code: while (1) { if (OpenClipboard() == FALSE) { ::Sleep(1); continue; } HGLOBAL clipbuffer; char * buffer; EmptyClipboard();
[Code] ....
No infinite loops yet, again was just testing if it was OpenClipboard failing because it was being called again too quickly or something (and it did happen occasionally).
Then testing that the clipboard data is correct (this is always true), and pasting with keybd_event. SendInput is not available with VC++ 6.
If the ::Sleeps are commented out, it will paste the wrong data almost every time under win7. It seems like it pretty much uses the last thing to be copied in the function and pastes it over and over (but not *always*). If I uncomment them, it will work as expected, but it obviously takes longer. With ::Sleep(50), it works about 80-90% of the time. Obviously I can't have the wrong data being pasted, and I'd prefer not to have to wait like this--and perhaps on a slower system or a system that is doing other things it may take longer and paste the wrong thing. It works fine on XP even without the sleeps.
Did keybd_event become a separate thread or something? Am I doing something wrong with the buffers? (I've tried using CSharedFile too with GMEM_MOVEABLE | GMEM_SHARE | GMEM_ZEROINIT settings, exact same thing.) Why does it work fine under XP but not under 7?
How to make a C function, that will be copying string to the clipboard?(so during execution it copies to cliboard, and after the program ends its execution I will be able to do "Ctrl-V" and paste the things copied)?.
I assume that linux have some sort of in-kernel clipboard which can be filled with some systemcall?
void query::load_query(const char* filename){ string lines; int count = 0; ifstream file (filename); //READ OPERATION--ONE EXECUTION ONLY if(file.is_open()) {
[Code]...
the 'flds' on the code above has vector <string> data type, i was able to output it using cout but i don't know how to copy its value to another vector <string>...whenever i tried to do that using my own way, the compiled program ended up crashing...
So basically I need to copy vI3Temp into vI3. I assume I can't loop over each element because I haven't sized vI3. So I guess I need some push_back for this. But what code to use?
I have written this code, and at first glance it does what I want, however I am worried that
a) I am overwriting the array that is apssed from chord.getPattern() b) Im getting a memory leak that I want to get rid of, and c) is there generally a /what is the neater way to do it:
Code: uint8_t* ChordBuilder::invert(uint8_t count, Chord chord) { temp = chord.getPattern(); chord.invert(true); //TODO count is how many times to invert. Moves root aswell however
for (uint8_t i = 0; i < count; i++){
[Code] ....
temp is a member variable of ChordBuilder - and is expressed as: Code: uint8_t* temp; I dont want the pattern that chord stores, and passes with getPattern() to change - I fear it is at the moment?
I would rather not use the "new" but I cant think how to get rid of it, however Im not sure where I would need to put the "delete"?
Copy some characters from char * arg to char * first using a loop with specific conditions.
Code:
char * arg; // set arg some string... char first_[25]; char * first; int length; length=strlen(arg); for (n++; arg[n] != '}' || n>=length-1; n++) strcpy(first,arg[n]); // first += arg[n]; I have strcpy(first,arg[n]); but arg[n] is char and strcpy expects char * ;
My goal is to copy only the elements of string 2 that are equal to string 1 into a new string. I tested this idea with an array of integers and it worked, but didn't work for the strings.
Code:
#include<stdio.h> main() { int scan1; char arr1[40] ; char arr2[40] ; char arr3[40] = {'_',.....,'_'}; /*for sake of brevity with post*/ }
I have never seen anyone pass by const copy and there probably is a reason. I know that the compiler ignores top level const-ness of function arguments. There are functions which take arguments without manipulating those arguments return the result, for example the C Standard Library funcion double sqrt (double x). The function shouldn't modify it's argument, but it can since the argument isn't const.Take these two functions for example:
double square_root_1(double arg) { arg = 7; // we won't get the desired results return arg * arg;
[code]....
So isn't it better to pass by const copy to make sure that you (or someone else) don't by accident modify the argument? The only disadvantage I see is that it makes the code too verbose.
The following are the cases when copy constructor is called.
1)When instantiating one object and initializing it with values from another object. 2)When passing an object by value. 3)When an object is returned from a function by value.
I don't understand #2 How can and object be passed by value? when I think of passing object I think of passing by address or reference. explain
I don't understand #3 how can a function returned object by value I think of again passing by address or reference.
The copy constructor is called twice, once when you pass an object by value, and once when the object is returned from a function by value. But why is the destructor being called twice?
copy constructor. I'm not really understanding them. I have a base class called Vehicle and a derived class called Car.
class Vehicle { private: int age;
[Code].....
I'm trying to test the new attributes and behavior of car but I think its not working because of the copy constructor. Its just not clicking. I also forgot that race car status is supposed to return yes or no, am I defining that right?
#include <iostream> using std::cout; using std::endl; class CBox // Base class definition { public: // Base class constructor explicit CBox(double lv = 1.0, double wv = 1.0, double hv = 1.0) : m_Length(lv), m_Width(wv), m_Height(hv)
[Code] .....
This example produces the following output:
// Derived class copy constructor CCandyBox(const CCandyBox& initCB): CBox(initCB) { std::cout << std::endl << "CCandyBox copy constructor called"; // Get new memory m_Contents = new char[ strlen(initCB.m_Contents) + 1 ]; // Copy string strcpy_s(m_Contents, strlen(initCB.m_Contents) + 1, initCB.m_Contents); }
It will work right? Cause when I do "CBox(initCB)" it only sends the BASE part of the derived object to the base class copy constructor, is it copy or default?
#include<iostream> #include<string> using namespace std; int main(){ char char_array[10]; int ascii_array[10];
[Code] ....
I have been trying for a while to copy a string to an array, i know i can copy an char_array element to a string but its with a two dimension. How can i do this? i want it to be user entered.
I just have a short question! I have an sbyte and I want to convert it to an int, but I do not want a value conversion, just to copy the bits, such that the negative numbers in the sbyte will be their complement in the int (-12 in sbyte -> 244 in int)... How can I do that?las
I want to search a special folder (and SubFolders) for Sh files (*.sh) then copy them (if found) to specified directory in Dev-C++ ,so that i need two function:
1-Search in specified directory for special FileType (*.sh) 2-Copy given file to specified directory .
In linux/bash Scripting you can do this easily but i should do this in Dev-C++
I am trying to figure out copy constructors for a dynamic array and I am definitely missing something. If I go into the copy constructor routine during debug, the values appear to be correct but they don't percolate up to the newly created object. I'll post a portion of the code below:
Code:
// include header files for the classes that are being used #include "stdafx.h" //
NOTE: THis reference must be added to all cpp files in Visual Studio Express 2013
#include <iostream> #include <string> #include <cstdlib> #include <map> using namespace std; const int ARRAY_SIZE_DEFAULT = 32; class vectorOfInt { public:
[code]....
The size of c is 0. Values of a were not copied to c, although they appear to do so within the copy constructor routine.
I was wondering that why in the below code, the copy constructor is called 2 times.
Code: class A { private: static int count; int age; public: A()
[code].....
I think that when f(a) is called, since I am passing this as value, no copy constructor should be called. The copy constructor should called when the return object "x" is assigned to: