|
|
Hello!
In my linker I get an error:
[bcc32 Error] Unit1.cpp(109): E2316 'GetScanline' is not a member of 'TBitmapData' Full parser context Unit1.cpp(42): parsing: void _fastcall TForm1::Button1Click(TObject *)
But I can clearly see it here
Embarcadero API TBitmapData
Actually I have only 3 methods in TBitmapData - Pitch, GetPixel and PixelFormat. That is strange.
What should I do to use GetScanline?
I use Embarcadero RAD Studio XE3. And Firemonkey.
Thanks!
modified 9-Jul-13 7:40am.
|
|
|
|
|
This looks more like a compiler error. Check the header file for this class to see where GetScanline() is defined.
Use the best guess
|
|
|
|
|
If you take a look at the link I provided - in the footer of the page (descriprion part) only these methods are described, but in the header of this page GetScanline is also mentioned like void * __fastcall GetScanline(const int I);
Anyway I need some function instead of too slow GetPixel.
Sorry for my English.
|
|
|
|
|
Okay, I looked inside header file. There is no GetScanline.
Why is it mentioned in API and what should I do now?
|
|
|
|
|
Member 10100948 wrote: Why is it mentioned in API and what should I do now? Contact the people who provide this library and ask them.
Use the best guess
|
|
|
|
|
I had to install XE4 as a solution for no-way-out. And it worked out. In XE4 there is a function GetScanline. Though in XE3 it should be too. Anyway thanks for your answers!
|
|
|
|
|
Hiii,
I have to edit metadata(title,comments, resolution etc...) of a wmv file in c++.
Can anybody help me?
Thanks in advance..
|
|
|
|
|
|
Hi,
How can i set the file or folder as access denied in both NTFS and FAT so that no one can get access to that particular file or folder ....
not manually am looking to do it through programming ..
Regards
Sarfaraz
|
|
|
|
|
You can't. All you can do is using encryption. However, with the requirement 'no one', just delete the files or folders.
To know why, you should read about NTFS permissions (e.g. How it works: NTFS permissions[^] and How it works: NTFS permissions, part 2[^]). Because FAT supports only the basic file attributes (read only, system, hidden) and no user level access permissions, everybody can read files and folders stored on FAT drives.
|
|
|
|
|
Create a file system filter driver and when you get a file open for that file return access denied.
This is how all security and lock down products work. (You can also switch on the SID of the caller allowing it for some members or groups.)
--edit--
Oh look, my sad one voting stalker has turned up. Really, do you think my solutuion is wrong? (Now remembner I have worked in the Windows kernel for 16 years and written security software. What do you klnow about the subjet?)
--edit2--
Yep, as I thought, the one voter knows nothing about the subject.
modified 11-Jul-13 5:10am.
|
|
|
|
|
hi all,
I want to do notice which event is generated when I set item text of CListCtrl item?
can anybody help me for this.
thanks.
|
|
|
|
|
You will get the LVN_ITEMCHANGING and LVN_ITEMCHANGED notification events.
|
|
|
|
|
LVN_ITEMCHANGED call every time even I insert item, selection using mouse or keyboard.
I just want only one time chk the event associated with setitemtext, coz I am increasing a counter value when particular column has set some desired value.
please help me for this.
thanks.
|
|
|
|
|
It is not fired for insert item.
But as you said it is fired for selection using mouse or keyboard as well.
You can distinguish this from SetItemText by looking at members of the NMLISTVIEW structure sent as part of the notification.
|
|
|
|
|
Is there a reason why you can't increase the counter directly when calling SetItemText() assuming you are the one calling it?
The good thing about pessimism is, that you are always either right or pleasently surprised.
|
|
|
|
|
I need use the C++ to writer a memory pool to save the frame data, un-fixed size buffer. But I find that the Boost Pool only support allocate the same size memory once a time. So I want to achieve myself memory pool to support saving the not same size frame data. Is there some one meet the similiar problem ?
|
|
|
|
|
A pool exists to provide management of resources.
If you are not managing the size of your "memory pool" exactly what are you managing?
|
|
|
|
|
The task you're describing is exactly what the system memory manager is built for! It can allocate objects of any size, and will organize your memory in such a way that it can handle millions of calls without serious degradation.
Memory Pools take advantage of the fact that most of the time when you have lots of allocations, you always allocate objects of the same type and size. Based on that assumption, you can improve the performance of the allocation (and deallocation) process, and reduce memory fragmentation.
If you can't make such assumptions, then you'd need to do exactly the same thing the system memory manager does. In other words: just use new and delete.
Is there a specific reason why you think you need a pool? Maybe there are better ways to improve yur program.
|
|
|
|
|
I need to optimize my stream player client, it will play 8 road stream in the same time.
I think that if use the memory pool, it will help to reduce the usage of time about allocate memory.
30 frames every second, but H264 has I Frame P Frame. So different frames have different size. So the memory pool of boost is not suitable for my client system.
|
|
|
|
|
Ok, so the sizes are in fact not freely variable, they may just vary between two (or more) different sizes.
In that case, use two (or more) pools - one for each size.
|
|
|
|
|
Oh my God. If there have one hundred different size, I will create one hundred memory pool?
|
|
|
|
|
I am not familiar with player streams. After your last posting my understanding was that you get Frames of very specific type (I Frame and P Frame, maybe some other frame types). I assumed that since you know these types, you deal with them in your program and of course must know their size (well, your compiler does).
If that is not the case, then what do these types mean, and what is the data type you use for storing?
|
|
|
|
|
I am trying to draw a shape or font on dialog and then fill the outline. I have 2 buttons on this 2 buttons I have the following code
[code]
case IDC_BUTTON1:
MessageBox(hDlg, L"Start Drawing!!", L"ButtonPressed", MB_OK | MB_ICONEXCLAMATION);
hDC = GetDC(hDlg);
brush = CreateSolidBrush(RGB(128, 128, 128));
SelectObject(hDC, brush);
hpen = CreatePen(PS_SOLID, 1, RGB(128, 0, 128));
SelectObject(hDC, hpen);
BeginPath(hDC);
break;
case IDC_BUTTON2:
MessageBox(hDlg, L"End Drawing!!", L"ButtonPressed", MB_OK | MB_ICONEXCLAMATION);
EndPath(hDC);
StrokeAndFillPath(hDC);
DeleteObject(brush);
ReleaseDC(hDlg, hDC);
break;
[/code]
Then in the drawing part I have the following.
[code]
case WM_LBUTTONUP:
if (IsDlgButtonChecked(hDlg, IDC_RADIO1) == BST_CHECKED )
{
EndX = LOWORD(lParam);
EndY = HIWORD(lParam);
SetROP2(hDC, R2_XORPEN);
MoveToEx(hDC, StartX, StartY, NULL);
LineTo(hDC, EndX, EndY);
IsDrawing = FALSE;
}
[/code]
When I remove the BeginPath() and EndPath() functions my lines are being drawn. But when I insert this BeginPath() and EndPath() and StrokeAndFillPath(hDC); the nothing is being drawn.
Why it is not doing as per the expectations. I want to draw a shape for example A with a outline. And i want it to be closed when drawing is ended and filled the hollow portion.
What am I doing wrong in this ? Please help. I am not implementing it in WM_PAINT but drawing is done in WM_LBUTTONUP. Please help. Thanks a lot in advance
|
|
|
|