|
Please don't post the same questions here AND in QA
|
|
|
|
|
hi
i want to run an dshow an application in my project and limit it to my MDI form !
can i do it? if yes how can i?
|
|
|
|
|
I think you should write hWnd of MDI form in dshow owner device.
|
|
|
|
|
Well, I'm new to C++ and I think I'm missing something obvious. I'm trying to create a text label control on a form, but I want the actual text to be dynamic (I want to use a variable that I can change on-the-fly).
So where I'd normally have something like this:
this->labelDynamicText->Name = L"labelDynamicText";
this->labelDynamicText->Size = System::Drawing::Size(145, 34);
this->labelDynamicText->TabIndex = 5;
this->labelDynamicText->Text = L"This is some dynamic text";
I was thinking of something like this:
this->labelDynamicText->Name = L"labelDynamicText";
this->labelDynamicText->Size = System::Drawing::Size(145, 34);
this->labelDynamicText->TabIndex = 5;
this->labelDynamicText->Text = MyDynamicText;
and I'd be able to something like:
int intCount = 0
Do Until [intCount = 60]
MyDynamicText = "this text sits on the screen for a few seconds"
intCount = intCount + 1
Loop
MyDynamicText = "this text displays after 60 seconds"
So can anyone help guide me in the right direction? Can I easily do this, and where do I start? Thanks in advance!
|
|
|
|
|
Off topic: Please use <pre></pre> tags around your code (use the code block button above) rather than bolding.
On topic : Changing the contents of your MyDynamicText variable does not force it to refresh the label on your form. You also need to resend it to this->labelDynamicText->Text as was done in the initialisation. Note also that your counter will run very fast rather than taking 60 seconds, you probably need to use a timer or sleep() call.
It's time for a new signature.
|
|
|
|
|
I had developed RTSP/RTP server for mp3(audio) which is working fine.
Now I am enhanceing server for MPEG1/2 Video streaming.
In vedio streaming I need to calculate "Video RTP Packet Timestamp field"
I did'n found any proper document for Timestamp calculation.
If anybody have any idea regarding this,please reply me.
Thanks in advance.
Vijay
|
|
|
|
|
Hi,
I'm trying to write a binary file, using BinaryWriter. My code does write a file, but it is empty. This is the code I'm using:
FileStream^ fs = gcnew FileStream(Convert::ToString(fileName), FileMode::Create);
BinaryWriter^ w = gcnew BinaryWriter(fs);
int rows = fileData->GetLength(0);
int cols = fileData->GetLength(1);
try
{
for (int row = 0; row < rows; row++){
for (int col = 0; col < cols; col++){
w->Write(fileData[row,col]);
}
}
}
finally
{
w->Close();
fs->Close();
}
Does anyone have a clue why the written files is empty?
Thanks!
|
|
|
|
|
I forgot to mention that fileData is an array<String^,2>^
|
|
|
|
|
Try running it in the debugger to check that you actually have some data and that it is being written to your file.
It's time for a new signature.
|
|
|
|
|
Thanks for your answer Richard. I tried running in the debugger. I do have some data to write to the file. How can I check whether it is actually written to the file? When I check the file in Windows Explorer it stays at 0kb.
|
|
|
|
|
I don't know what is happening with your file, I just tried a similar test and the file was written correctly. All I can suggest is that you step through your program to ensure the values actually get written, and also that no other part of your program destroys the file.
It's time for a new signature.
|
|
|
|
|
That's strange. I'll try it on another computer, maybe that helps.
Thanks a lot for your help anyway!
|
|
|
|
|
Hi,
two guesses:
1. you are looking at the wrong folder; is it a relative path? is your current directory what you think it is? add a w->Write(1); early on to make sure there is some data, so the file size and modifiction date must change.
2. not sure what Convert::ToString(fileName) is supposed to do. Have a go with a simple "aha.dat"
|
|
|
|
|
Hi Luc,
I found out that something was going wrong with my fileName indeed. Its working now.
Thanks a lot for your help!
|
|
|
|
|
As I suggested yesterday, you should always run through your code with the debugger to ensure that all your variables contain the correct values. When you said the file size was zero, you did not mention that the create time had not been changed. That would have been a good clue that the file was not being written.
It's time for a new signature.
|
|
|
|
|
Well, the file was actually written, so the create time changed. It was only the referece where to write the data to that as wrong, and that I didn't catch when stepping through the code. But now it works.
Thanks again for the help!
|
|
|
|
|
I'm still learning about generics so I create a generics function like this :
generic<class T> where T : ValueType
T Process(T val)
{
val = val * 15;
return val;
}
and called float a = Process<float>(10.0) , but then I got " error C2296: '*' : illegal, left operand has type 'T' " in the line val = val * 15; . Then I try a simpler method like this :
generic<class T> where T : ValueType
T Process()
{
T val = 15;
return val;
}
Called float a = Process<float>() and I still got "error C2440: 'initializing' : cannot convert from 'int' to 'T' " in the line T val = 15;
What is the correct way to use generics?
Thanks in advance
|
|
|
|
|
Anybody?
|
|
|
|
|
The problem in your code is that you cannot convert an int to a ValueType . T is a ValueYype , so you can use only the methods defined in that class when using objects of type T .
What are you trying to achieve?
|
|
|
|
|
Thanks for your reply,
Actually I want to make a 2D matrix class that doesn't just limited in one type (ValueType) only so that I can create a Matrix<float> or Matrix<int> depending on what I need. I thought that generic is the most appropriate and also the simplest solution but it turns out that I was wrong.
|
|
|
|
|
Unfortunately C# generics are not C++ generics, C# doesn't support numeric generics because there is no common base class of int/float/whatever that support calculation operations. You can do it the old manner, creating a class for every type you wish to support. There is another solution that uses generics in a different manner here[^].
|
|
|
|
|
Hi, im using C# dll in VC++ application.I have somedetails in VC++ like
PageNumer
pageTitle
PageDesc
BoxDetail .
I have to pass this to C# Dll. So i made one structure in VC++,then i pas that to C#.But i could't do that.Pls help me.
VC++ Function:
struct SCS3OverVwPg
{
__int32 iOvrPgNo;
char sOvrPgTitle[30];
};
void CToolTab::SendOverview()
{
SCS3OverVwPg *pOverVw = 0;
pOverVw = new SCS3OverVwPg;
Globals1::gwtoolbar->SetTree(pOverVw);
}
C# function:
public struct SCS3Over
{
Int32 iOvrPgNo;
char[] sOvrPgTitle;
}
public void SetTree(SCS3Over x)
{
MessageBox.Show("Data received");
}
If i do like this,it shows error error C2664: 'Tabcontrol::ToolBar::SetTree' : cannot convert parameter 1 from 'SCS3OverVwPg *' to 'SCS3Over'
If i change name in C# dll to SCS3OverwPg, it show error of structure redifinition Pls help me.
Anu
|
|
|
|
|
the structure (SCS3Over ) in c# dll is public? if it's public you can directly use it in visual c++ without having to redeclare it...so your visual c code:
void CToolTab::SendOverview()
{
Globals1::SCS3Over tmp;
tmp.iOvrPgNo=1;
tmp.sOvrPgTitle="ciao";
Globals1::gwtoolbar->SetTree(tmp);
}
|
|
|
|
|
Hello everyone,[it may not be the correct place to ask but in case some one has an idea, please] I am wondering if any one know or can help me how to convert regular windows program to windows ce. My application is written in VS C++ 2005 and another one is in C#. What I am trying to do is convert both of the application and deploy into windows ce device.
Thanks
|
|
|
|
|
Ive been on this for 3 hours now something I thought that was going to be easy isnt
I have a richtextbox control that contains a rtf file (that cant be edited) in the form and Im wanting to print that somehow.
It doesnt seem easy to do, is there a short tutorial somewhere?
thanks zed
|
|
|
|