亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? error.cpp

?? < VC++視頻音頻開發>> 這本書的源碼
?? CPP
字號:
//	VirtualDub - Video processing and capture application
//	Copyright (C) 1998-2001 Avery Lee
//
//	This program is free software; you can redistribute it and/or modify
//	it under the terms of the GNU General Public License as published by
//	the Free Software Foundation; either version 2 of the License, or
//	(at your option) any later version.
//
//	This program is distributed in the hope that it will be useful,
//	but WITHOUT ANY WARRANTY; without even the implied warranty of
//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//	GNU General Public License for more details.
//
//	You should have received a copy of the GNU General Public License
//	along with this program; if not, write to the Free Software
//	Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

#include "VirtualDub.h"

#include <stdio.h>
#include <stdarg.h>
#include <crtdbg.h>
#include <windows.h>

#include "Error.h"

MyError::MyError() {
	buf = NULL;
}

MyError::MyError(MyError& err) {
	buf = new char[strlen(err.buf)+1];
	if (buf)
		strcpy(buf,err.buf);
}

MyError::MyError(const char *f, ...) {
	va_list val;

	va_start(val, f);
	vsetf(f, val);
	va_end(val);
}

MyError::~MyError() {
	delete[] buf;
}

void MyError::setf(const char *f, ...) {
	va_list val;

	va_start(val, f);
	vsetf(f,val);
	va_end(val);
}

void MyError::vsetf(const char *f, va_list val) {
	buf = new char[1024];
	if (buf) {
		buf[1023] = 0;
		_vsnprintf(buf, 1023, f, val);
	}
}

void MyError::post(HWND hWndParent, const char *title) {
	if (!buf || !*buf)
		return;

	_RPT2(0,"*** %s: %s\n", title, buf);
	MessageBox(/*hWndParent*/NULL, buf, title, MB_OK | MB_ICONERROR);
}

void MyError::discard() {
	buf = NULL;
}

MyICError::MyICError(const char *s, DWORD icErr) {
	const char *err = "(Unknown)";

	switch(icErr) {
	case ICERR_OK:				err = "no error"; break;
	case ICERR_UNSUPPORTED:		err = "unsupported"; break;
	case ICERR_BADFORMAT:		err = "bad format"; break;
	case ICERR_MEMORY:			err = "out of memory"; break;
	case ICERR_INTERNAL:		err = "internal error"; break;
	case ICERR_BADFLAGS:		err = "bad flags"; break;
	case ICERR_BADPARAM:		err = "bad parameters"; break;
	case ICERR_BADSIZE:			err = "bad data size"; break;
	case ICERR_BADHANDLE:		err = "bad handle"; break;
	case ICERR_CANTUPDATE:		err = "can't update"; break;
	case ICERR_ABORT:			err = "aborted by user"; break;
	case ICERR_ERROR:			err = "unspecified error"; break;
	case ICERR_BADBITDEPTH:		err = "can't handle bit depth"; break;
	case ICERR_BADIMAGESIZE:	err = "bad image size"; break;
	default:
		if (icErr <= ICERR_CUSTOM) err = "<custom error>";
		break;
	}

	setf("%s error: %s (%ld)", s, err, icErr);
}

MyMMIOError::MyMMIOError(const char *s, DWORD mmioerr) {
	const char *err = "(Unknown)";

	switch(mmioerr) {
	case MMIOERR_FILENOTFOUND:		err = "file not found"; break;
	case MMIOERR_OUTOFMEMORY:		err = "out of memory"; break;
	case MMIOERR_CANNOTOPEN:		err = "couldn't open"; break;
	case MMIOERR_CANNOTCLOSE:		err = "couldn't close"; break;
	case MMIOERR_CANNOTREAD:		err = "couldn't read"; break;
	case MMIOERR_CANNOTWRITE:		err = "couldn't write"; break;
	case MMIOERR_CANNOTSEEK:		err = "couldn't seek"; break;
	case MMIOERR_CANNOTEXPAND:		err = "couldn't expand"; break;
	case MMIOERR_CHUNKNOTFOUND:		err = "chunk not found"; break;
	case MMIOERR_UNBUFFERED:		err = "unbuffered"; break;
	case MMIOERR_PATHNOTFOUND:		err = "path not found"; break;
	case MMIOERR_ACCESSDENIED:		err = "access denied"; break;
	case MMIOERR_SHARINGVIOLATION:	err = "sharing violation"; break;
	case MMIOERR_NETWORKERROR:		err = "network error"; break;
	case MMIOERR_TOOMANYOPENFILES:	err = "too many open files"; break;
	case MMIOERR_INVALIDFILE:		err = "invalid file"; break;
	}

	setf("%s error: %s (%ld)", s, err, mmioerr);
}

MyAVIError::MyAVIError(const char *s, DWORD avierr) {
	const char *err = "(Unknown)";

	switch(avierr) {
	case AVIERR_UNSUPPORTED:		err = "unsupported"; break;
	case AVIERR_BADFORMAT:			err = "bad format"; break;
	case AVIERR_MEMORY:				err = "out of memory"; break;
	case AVIERR_INTERNAL:			err = "internal error"; break;
	case AVIERR_BADFLAGS:			err = "bad flags"; break;
	case AVIERR_BADPARAM:			err = "bad parameters"; break;
	case AVIERR_BADSIZE:			err = "bad size"; break;
	case AVIERR_BADHANDLE:			err = "bad AVIFile handle"; break;
	case AVIERR_FILEREAD:			err = "file read error"; break;
	case AVIERR_FILEWRITE:			err = "file write error"; break;
	case AVIERR_FILEOPEN:			err = "file open error"; break;
	case AVIERR_COMPRESSOR:			err = "compressor error"; break;
	case AVIERR_NOCOMPRESSOR:		err = "compressor not available"; break;
	case AVIERR_READONLY:			err = "file marked read-only"; break;
	case AVIERR_NODATA:				err = "no data (?)"; break;
	case AVIERR_BUFFERTOOSMALL:		err = "buffer too small"; break;
	case AVIERR_CANTCOMPRESS:		err = "can't compress (?)"; break;
	case AVIERR_USERABORT:			err = "aborted by user"; break;
	case AVIERR_ERROR:				err = "error (?)"; break;
	}

	setf("%s error: %s (%08lx)", s, err, avierr);
}

MyMemoryError::MyMemoryError() {
	setf("Out of memory");
}

MyWin32Error::MyWin32Error(const char *format, DWORD err, ...) {
	char szError[128];
	char szTemp[256];
	va_list val;

	FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
			0,
			err,
			MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
			szError,
			sizeof szError,
			NULL);

	if (szError[0]) {
		long l = strlen(szError);

		if (l>1 && szError[l-2] == '\r')
			szError[l-2] = 0;
		else if (szError[l-1] == '\n')
			szError[l-1] = 0;
	}

	va_start(val, err);
	szTemp[sizeof szTemp-1] = 0;
	_vsnprintf(szTemp, sizeof szTemp, format, val);
	va_end(val);

	setf(szTemp, szError);
}

MyCrashError::MyCrashError(const char *format, DWORD dwExceptionCode) {
	const char *s = "(Unknown Exception)";

	switch(dwExceptionCode) {
	case EXCEPTION_ACCESS_VIOLATION:
		s = "Access Violation";
		break;
	case EXCEPTION_PRIV_INSTRUCTION:
		s = "Privileged Instruction";
		break;
	case EXCEPTION_INT_DIVIDE_BY_ZERO:
		s = "Integer Divide By Zero";
		break;
	case EXCEPTION_BREAKPOINT:
		s = "User Breakpoint";
		break;
	}

	setf(format, s);
}

MyUserAbortError::MyUserAbortError() {
	buf = strdup("");
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产电影一区在线| 一本到三区不卡视频| 成人激情校园春色| 欧美一级在线免费| 中文字幕欧美一| 狠狠色丁香婷婷综合久久片| 欧美婷婷六月丁香综合色| 久久精品男人天堂av| 日韩成人一级大片| 日本高清成人免费播放| 中文字幕久久午夜不卡| 久久99精品国产.久久久久 | 欧美一级淫片007| 一区二区三区欧美日| 国产高清在线精品| 91精品国产入口| 亚洲一区中文在线| 色婷婷久久久久swag精品| 国产精品久久网站| 风间由美一区二区av101| 久久影院电视剧免费观看| 美脚の诱脚舐め脚责91| 在线成人av影院| 亚洲va欧美va天堂v国产综合| 色婷婷综合久久久中文一区二区 | 日韩精品一区二区三区中文不卡| 亚洲国产欧美另类丝袜| 欧美午夜精品久久久久久超碰 | 136国产福利精品导航| www.亚洲激情.com| 国产精品免费视频一区| 成人av在线观| 国产精品短视频| 91美女视频网站| 夜夜嗨av一区二区三区四季av| 色综合网站在线| 天天色天天爱天天射综合| 91老师片黄在线观看| 一区二区在线电影| 欧美在线观看视频在线| 亚洲成人黄色小说| 制服丝袜一区二区三区| 久久精品国产秦先生| 久久人人97超碰com| 高清国产一区二区| 亚洲蜜臀av乱码久久精品蜜桃| 日本道精品一区二区三区| 亚洲午夜久久久久久久久电影院 | 99久久精品国产毛片| 一区二区三区.www| 欧美精品久久一区| 久草中文综合在线| 国产精品入口麻豆九色| 91激情在线视频| 蜜桃视频在线观看一区| 久久精品夜色噜噜亚洲aⅴ| 国产专区欧美精品| 亚洲男人电影天堂| 日韩女优毛片在线| eeuss国产一区二区三区| 亚洲国产精品自拍| 久久亚洲综合色一区二区三区| 不卡的av中国片| 日本中文字幕一区二区视频| 久久久www成人免费无遮挡大片| 一本到高清视频免费精品| 老司机精品视频线观看86| 国产精品动漫网站| 日韩精品一区二区在线| 一道本成人在线| 久久狠狠亚洲综合| 亚洲男人电影天堂| 久久综合网色—综合色88| 欧美午夜精品久久久久久孕妇| 极品少妇xxxx精品少妇偷拍| 亚洲精品v日韩精品| 久久综合色一综合色88| 欧美日韩高清在线| 成人激情图片网| 久久97超碰色| 肉色丝袜一区二区| 亚洲免费观看高清完整版在线| 欧美电影免费观看高清完整版在线 | 中文在线资源观看网站视频免费不卡| 在线观看不卡一区| 成人美女视频在线看| 日本免费在线视频不卡一不卡二 | 91最新地址在线播放| 精品一区精品二区高清| 亚洲一区视频在线| 日韩美女视频一区| 中文字幕二三区不卡| 日韩精品一区二区三区在线| 欧美精品xxxxbbbb| 在线亚洲免费视频| 色乱码一区二区三区88| 成人精品视频一区二区三区尤物| 久久66热偷产精品| 麻豆精品一区二区综合av| 午夜精品福利在线| 亚洲成人精品一区| 亚洲另类在线视频| 亚洲欧美另类小说| 亚洲免费观看高清| 亚洲欧美色图小说| 亚洲欧美日韩精品久久久久| 国产精品国产三级国产普通话蜜臀 | 国产精品伊人色| 久久电影网电视剧免费观看| 麻豆视频观看网址久久| 开心九九激情九九欧美日韩精美视频电影 | 欧美伊人久久久久久久久影院| 99国产精品久久久久久久久久久| 成人精品视频一区二区三区| 懂色一区二区三区免费观看| 国产一区二区三区四| 国产精品资源在线看| 国产成人日日夜夜| 成人91在线观看| 色综合天天做天天爱| 91蜜桃网址入口| 欧洲一区在线电影| 欧美视频精品在线观看| 日韩三级视频在线观看| 久久亚洲一级片| 中文字幕第一区二区| 亚洲视频免费在线观看| 亚洲午夜日本在线观看| 久久精品国产99国产精品| 国产suv精品一区二区三区 | 国产高清不卡一区二区| 成人av在线电影| 欧美综合亚洲图片综合区| 在线播放中文一区| 精品999在线播放| 欧美高清在线视频| 亚洲在线视频网站| 美国十次了思思久久精品导航| 国产真实乱偷精品视频免| 成人高清伦理免费影院在线观看| 色婷婷亚洲综合| 欧美变态凌虐bdsm| 中文字幕制服丝袜成人av| 亚洲成人手机在线| 国产一区二区美女诱惑| 色婷婷av一区| 欧美成人精品二区三区99精品| 国产欧美综合色| 亚洲第一搞黄网站| 粉嫩高潮美女一区二区三区| 欧美日韩一级二级| 欧美国产精品专区| 日韩高清中文字幕一区| 丁香另类激情小说| 在线不卡中文字幕播放| 中文字幕在线观看不卡| 麻豆免费看一区二区三区| 97se亚洲国产综合在线| 日韩欧美国产一区二区在线播放| 国产精品乱人伦一区二区| 日本色综合中文字幕| 99久久99久久免费精品蜜臀| 欧美一区二区三区思思人| 亚洲同性gay激情无套| 国产一区免费电影| 7777精品久久久大香线蕉| 亚洲免费色视频| 成人免费的视频| 欧美大度的电影原声| 亚洲国产精品自拍| 91污在线观看| 欧美国产成人在线| 韩国午夜理伦三级不卡影院| 欧美日韩一二三区| 亚洲精品菠萝久久久久久久| 成人性生交大合| 精品黑人一区二区三区久久| 亚洲成人激情av| 欧美特级限制片免费在线观看| 国产喷白浆一区二区三区| 黄色小说综合网站| 日韩欧美国产高清| 青娱乐精品视频在线| 欧美日韩一区高清| 亚洲精品视频在线看| 99国产精品久久久久| 国产精品久久久久久久久快鸭 | 色视频成人在线观看免| 久久久久久久久久久黄色| 激情综合网av| 日韩免费观看高清完整版在线观看 | 激情六月婷婷久久| 精品国产乱码久久久久久浪潮| 日韩精品一二区| 91精品国产综合久久福利软件| 亚洲一区二区美女| 在线不卡的av| 日本亚洲免费观看| 欧美sm极限捆绑bd| 精品一二三四在线|