非常感谢任何和所有帮助。感谢您抽出时间审核我的问题。
我目前收到错误
1>c:\users\fordn_000\documents\tcc_odu\it310\programs\it310_homework_program_2_nford\it310_homework_program_2_nford\Form1.h(625): error C2653: 'Marshal' : is not a class or namespace name
1>c:\users\fordn_000\documents\tcc_odu\it 310\programs\it310_homework_program_2_nford\it310_homework_program_2_nford\Form1.h(625): error C3861: 'StringToHGlobalAnsi': identifier not found
这是我的GUI表单代码,但我想使用命令marshal,它出现在发生错误的地方
private: System::Void DisplayButton_Click(System::Object^ sender, System::EventArgs^ e)
{
int InitProductID = 0;
char* InitDescription;
int InitManufID = 0;
double InitWholeSale = 0.0;
double InitMarkup = 0.0;
int InitQuanity = 0;
String^ TypeString;
//EXTRACT FROM INPUT TEXT BOX'S
InitProductID = Convert::ToInt32(ProductIDNumberBoxNew->Text);
InitDescription = (char*)(void*)Marshal::StringToHGlobalAnsi(DescriptionBox->Text);
InitManufID = Convert::ToInt32(ManufacturerBox->Text);
InitWholeSale = Convert::ToDouble(WholesalePriceBox->Text);
InitMarkup = Convert::ToDouble(MarkupBox->Text);
InitQuanity = Convert::ToInt32(QuantityBox->Text);
//CREATE INSTANCE OF CLASS
Inventory InventoryItem(InitProductID, InitDescription, InitManufID, InitWholeSale, InitMarkup, InitQuanity);
//DISPLAY TO OUTPUT TEXT BOXS
ProductIDNumberOutBox->Text = Convert::ToString(InventoryItem.GetProductID());
TypeString=gcnew String(InventoryItem.GetDescription());
ManufacturerOutBox->Text = Convert::ToString(InventoryItem.GetManufID());
//RETAIL PRICE OUTBOX
QuantityOutBox->Text= Convert::ToString(InventoryItem.GetQuanity());
}
这是我的stdafx头文件
#pragma once
// TODO: reference additional headers your program requires here
#include "Inventory.h"
这是我的stdafx cpp文件
#include "stdafx.h"
#include "Form1.h"
最后这是我的广告资源标题文件
//SPECIFICATION FILE (INVENTORY.H)
#ifndef INVENTORY_H
#define INVENTORY_H
#include <iostream>
#include <iomanip>
using namespace std;
class Inventory
{
private:
int ProductID;
mutable char Description[25];
int ManufID;
double WholeSale;
double Markup;
int Quanity;
public:
//CONSTRUCTORS
Inventory( );
Inventory(int, char[], int, double, double, int);
//GET FUNCTIONS
int GetProductID( )const;
char* GetDescription( )const;
int GetManufID( )const;
double GetWholeSale( )const;
double GetMarkup( )const;
int GetQuanity( )const;
//DISPLAY FUNCTION
void Display( )const;
//RETURN FUNCTION
double RetailPrice( )const;
};
#endif
答案 0 :(得分:2)
我认为你需要参考:
using namespace System::Runtime::InteropServices;