我正在为一家小公司编写C#.NET应用程序.对于我们这些没有编程学位的人来说,我们错过了什么可能需要我们多年才能找到自己的教学?
我有电子工程学位,所以不像我16岁就离开学校,坐在Visual Studio旁边.我已经在我的学习,算法,控制系统,数学等方面介绍了一些基本的嵌入式C.我只是觉得必须要做的事情我应该知道这样做但不要.
在COM中如何验证指向COM对象的指针在另一端是否仍然具有有效对象?
我有一个问题,下面的一些代码试图检查m_pServer指针是否仍然存活,但是当该应用程序暴露该接口时,这段代码会崩溃应用程序.任何人都可以建议如何在使用之前检查指针?
if (FAILED(m_pServer->StillAlive())) { // do something }
Run Code Online (Sandbox Code Playgroud)
如果m_pServer不再在内存中,则此代码将失败.
编辑:
EXCEPTION:Client40.exe中0x7728fbae(kernel32.dll)的第一次机会异常:0x800706BA:RPC服务器不可用.
CALL STACK:
kernel32.dll!RaiseException() + 0x58
rpcrt4.dll!RpcRaiseException() + 0x3e
rpcrt4.dll!NdrProxyErrorHandler() + 0x28
rpcrt4.dll!NdrProxySendReceive() + 0xa4
rpcrt4.dll!NdrProxySendReceive() + 0x119
rpcrt4.dll!NdrComplexArrayMarshall() + 0x26d
--> Client40.exe!SlaveDriver::run() Line 97 + 0x14 C++ //Runs while loop, to handle requests
Client40.exe!DThread::tfunc(void * thisptr=0x0047e694) Line 56 + 0xd C++
Client40.exe!_threadstartex(void * ptd=0x01b20e00) Line 241 + 0xd C
kernel32.dll!BaseThreadInitThunk() + 0x12
ntdll.dll!RtlInitializeExceptionChain() + 0x63
ntdll.dll!RtlInitializeExceptionChain() + 0x36
Run Code Online (Sandbox Code Playgroud) Mac OS X 10.6.6 - Tkinter
我想绑定多键事件,虽然我找到了一篇文章和Tk手册页,但我一直无法正常工作.我是新来的.
我的成功喜忧参半.我已经能够获得Shift +字母键,但不能获得Control或Command(Apple键).我真正想做的是Command + letter和Control +字母键,因此它理论上可以在Windows和OS X中使用.
我希望它在窗口级工作,所以我使用root.也许有更好的方法.以下是我尝试过的内容:
root.bind('<Shift-E>', self.pressedCmdE) # Works
root.bind('e', self.pressedCmdE) # Works
root.bind('<Command-E>', self.pressedCmdE) # Does Not Work
#root.bind('<Mod1-E>', self.pressedCmdE) # # Do Mod1, M1, and
#root.bind('<M1-E>', self.pressedCmdE) # # Command mean the same thing?
Run Code Online (Sandbox Code Playgroud)
奇怪的是,当我按alt/option +(E,N或其他)时,会产生错误.它是否与PythonLauncher交互?
2011-06-16 16:19:22.618 Python[1546:d07] An uncaught exception was raised
2011-06-16 16:19:22.621 Python[1546:d07] *** -[NSCFString characterAtIndex:]: Range or index out of bounds
2011-06-16 16:19:22.622 Python[1546:d07] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** …Run Code Online (Sandbox Code Playgroud) 我试图从我从Adobe Illustrator生成的一组路径中创建一个可重新调整大小的绘图,但无法弄清楚如何使其重新调整大小并保持填充.原始路径数据是:
<Path Fill="#ff221e1f" Data="F1 M 65.778,45.310 L 85.092,45.310 L 85.092,47.630 L 68.504,47.630 L 68.504,63.174 L 83.700,63.174 L 83.700,65.494 L 68.504,65.494 L 68.504,84.402 L 65.778,84.402 L 65.778,45.310 Z"/>
<Path Fill="#ff221e1f" Data="F1 M 95.300,64.218 L 101.505,64.218 C 107.538,64.218 111.482,60.854 111.482,55.692 C 111.482,49.718 107.074,47.282 100.926,47.282 C 98.257,47.282 96.286,47.572 95.300,47.804 L 95.300,64.218 Z M 92.574,45.832 C 94.952,45.310 98.316,45.020 100.984,45.020 C 106.087,45.020 109.278,46.122 111.540,48.268 C 113.222,49.892 114.266,52.502 114.266,55.228 C 114.266,60.506 111.133,63.870 106.610,65.436 L 106.610,65.552 C 109.742,66.538 111.713,69.496 112.642,73.846 C 113.976,79.936 114.730,82.836 115.542,84.402 L 112.642,84.402 …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个SQL查询,根据输入的字段筛选gridview.有四个字段,title,firstname,surname和Company.Name.
前三个很好,因为它们永远不会为null,但第四个可以为null.以下LINQ查询工作正常:
var listofclients = from client in allcients
where client.Title.ToLower().Contains(titletxtbox.Text.Trim().ToLower())
where client.Firstname.ToLower().Contains(firstnametxtbox.Text.Trim().ToLower())
where client.Surname.ToLower().Contains(surnametxtbox.Text.Trim().ToLower())
orderby client.Name
Run Code Online (Sandbox Code Playgroud)
但是当我尝试为公司设置一个过滤器时,当公司为空时,我将在运行时收到错误
var listofclients = from client in allcients
where client.Title.ToLower().Contains(titletxtbox.Text.Trim().ToLower())
where client.Firstname.ToLower().Contains(firstnametxtbox.Text.Trim().ToLower())
where client.Surname.ToLower().Contains(surnametxtbox.Text.Trim().ToLower())
where client.Company.Name.ToLower().Contains(companynametxtbox.Text.Trim().ToLower())
orderby client.Name
Run Code Online (Sandbox Code Playgroud)
我想知道的是,是否有一种方法来构建查询,以便它只在client.Company字段不为null时进行过滤.
当我直接从像这样的文本框字段中提取时,我也容易受到SQL注入等的攻击.我知道在这种情况下它没有连接到数据库,但如果它可以,它们可以做一个下降.或者即使它没有连接到数据库,他们可以摆弄列表中的对象吗?
谢谢
乔恩霍金斯
我做了JSON.parse并以这样的格式获得javascript变量"temp"的输出
{"2222":{"MId":106607,
"Title":"VIDEOCON Semi Automatic Marine 6.8kg",
"Name":"washma01",
}}
Run Code Online (Sandbox Code Playgroud)
我尝试过
alert(temp[0][0]);
alert(temp.2222[0].MId);
Run Code Online (Sandbox Code Playgroud)
但没有得到输出.
我将如何在javascript中访问此数据?
如果我按下我的Android手机上的电源按钮(或等待它超时)并且手机进入睡眠状态,在重新唤醒之后,屏幕宽高比完全没有了.
截图:
破碎

正确

在GameActivity.onCreate()中
// Grab display info
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
ACTUAL_SCREEN_WIDTH = (int) dm.widthPixels;
ACTUAL_SCREEN_HEIGHT = (int) dm.heightPixels;
ACTUAL_DENSITY = dm.density;
double scale = ((double) MainMenuActivity.resolutionScale / 100.0);
SCREEN_WIDTH = (int) (ACTUAL_SCREEN_WIDTH * scale);
SCREEN_HEIGHT = (int) (ACTUAL_SCREEN_HEIGHT * scale);
DENSITY = ACTUAL_DENSITY * scale;
// Setup graphics
requestWindowFeature(Window.FEATURE_NO_TITLE);
surface_view = new GLSurfaceView(this);
if (SCREEN_WIDTH != ACTUAL_SCREEN_WIDTH
|| SCREEN_HEIGHT != ACTUAL_SCREEN_HEIGHT)
surface_view.getSurfaceHolder().setFixedSize(SCREEN_WIDTH,
SCREEN_HEIGHT);
Run Code Online (Sandbox Code Playgroud)
我正在GLSurfaceView中正确地重新加载所有内容(即回击主页并返回游戏重新加载纹理等).
我在onWindowFocusChanged中打印出了方向,它是横向的(如预期的那样).
如果我不使用setFixedSize(即,如果resolutionScale为100),则不会出现此问题.此外,如果游戏前面出现另一个窗口(如偏好设置窗口),然后您返回游戏,问题就会消失.
提前致谢.自从研究枯竭以来,我一直在尝试随机的东西大约一个小时.
我正在开发一种测试工具,用于从PC并行端口生成波形.该工具的目的是产生波形的任何模式与定时毫秒的准确性,所以我使用的Lua脚本来定义波形模式,GUI启动新的QThread运行脚本时用户点击[开始]按钮.
Lua的以下三个函数被实现为C++全局函数:
当调用pwrite时,写入的数据存储在全局变量中,然后以20ms的间隔更新GUI以更新GUI上的并行端口数据.(这20毫秒刷新间隔是不是一个很好的设计,但我还没有搞清楚如何使用信号进行GUI更新,当数据发生变化).
该工具现在基本上是功能性的.波形输出没有问题,但并行端口数据更新有一些问题:
当Lua调用msleep时,GUI线程停止,并行端口数据仅在msleep结束后更新.
所以我的问题是:
如何实现sleep方法,以便它不会阻止GUI线程更新?
如何实现pwrite,以便GUI在写入数据发生变化时可以接收信号来更新并行端口数据?
程序GUI如下链接:

相关代码:
/* common.cpp file */
int L_MSleep(lua_State* l)
{
int milisec=0;
struct timespec req={0, 0};
time_t sec;
milisec=luaL_optint(l,1,0); // obtain parameter
if (milisec==0)
return 0;
sec=(int)(milisec/1000);
milisec=milisec-(sec*1000);
req.tv_sec=sec;
req.tv_nsec=milisec*1000000L;
while(nanosleep(&req,&req)==-1)
continue;
return 1;
}
/* LuaRunner.cpp file */
LuaRunner::LuaRunner(QObject *parent) :
QThread(parent)
{
runlua = false;
}
void LuaRunner::run()
{
QString err = "";
runlua = true;
LUA_RunScript(this->ff, err);
runlua = false;
if(err != "")
{
emit errorMessage(err); …Run Code Online (Sandbox Code Playgroud) 我有兴趣使用python根据正方形的大小(以及可选的颜色)制作表示值大小的图表.基本上我正在寻找一种方法来概述一堆值,例如windirstat用硬盘驱动器使用的好旧程序(它基本上会形成一个代表你的硬盘的大方块,然后构成它内部区域的小方块不同的程序,方块越大文件越大,颜色表示文件的类型).我对matplotlib非常熟悉,我认为用它做这样的事情是不可能的.有没有其他python包可以帮助?如果不是,任何更低级别的建议?我想如果我能找到一种以编程方式绘制框的方法,我可以手动完成(我并不真正关心格式,但导出SVG以及PNG的选项会很好).
最终,让它像windirstat一样具有互动性是很好的,如果你将鼠标悬停在一个特定的方格上,你可以获得更多信息,如果你点击它,也许你会进去看看它的构成特别广场.我只熟悉wxpython的GUI内容,不确定它是否可以用于这样的东西.现在我很乐意输出它们.
非常感谢!亚历克斯
编辑:谢谢大家,你的答案都有很多帮助.
我正在为我的餐厅做菜单测试.我已经制作了GUI并且对它的基本格式感到满意(现在),但我仍然坚持如何进行下一步.
我设置了多个复选框(不同的成分),并且计划是针对不同的菜单项循环(显示在屏幕上),然后员工检查相应的成分,单击我提交的提交和继续按钮,然后是下一个菜单项显示代替上一个.我需要做更多的事情,比如阅读和存储输入,但是现在我想在我继续前进之前跳过这个障碍.
我是使用Python进行GUI的新手,所以我不确定最好的方法.
我找到了不同的代码示例,但没有具体的东西可以实现到我的程序中.任何建议都非常感谢!!
这是我的GUI图片:

from tkinter import *
globalvar = -1
class Example(Frame):
def __init__(self, parent):
Frame.__init__(self, parent, background="white")
self.parent = parent
self.initUI()
def initUI(self):
self.parent.title("Wahoos Menu Test")
def main():
def callBack(number):
globalvar = number + 1
item(globalvar)
def item(number):
menu = ['nft', 'nckt']
m = Label(root, text=menu[number], fg="orange").grid(row=7, column=0)
root = Tk()
app = Example(root)
#root.geometry("750x750+400+50")
for r in range(20):
for c in range(14):
Label(root, text='',
borderwidth=0).grid(row=r,column=c)
B = Button(root, text ="Submit and Continue", relief=RIDGE, fg="black", command= lambda:callBack(globalvar)).grid(row=19, …Run Code Online (Sandbox Code Playgroud)